Imported Upstream version 1.22.4
[platform/upstream/groff.git] / src / libs / libgroff / libgroff.am
1 # Copyright (C) 2014-2018 Free Software Foundation, Inc.
2 #
3 # Latest update: 13 Aug 2015
4 #
5 # This file is part of groff.
6 #
7 # groff is free software; you can redistribute it and/or modify it under
8 # the terms of the GNU General Public License as published by the Free
9 # Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # groff is distributed in the hope that it will be useful, but WITHOUT ANY
13 # WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15 # for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20 libgroff_srcdir = $(top_srcdir)/src/libs/libgroff
21 noinst_LIBRARIES += libgroff.a
22 libgroff_a_CPPFLAGS = \
23   $(AM_CPPFLAGS) \
24   -D__GETOPT_PREFIX=groff_ \
25   -DENABLE_RELOCATABLE=1 \
26   -DLIBDIR=\"$(libdir)\"
27
28 # Build from OBJS
29 libgroff_a_SOURCES = \
30   src/libs/libgroff/assert.cpp \
31   src/libs/libgroff/change_lf.cpp \
32   src/libs/libgroff/cmap.cpp \
33   src/libs/libgroff/color.cpp \
34   src/libs/libgroff/cset.cpp\
35   src/libs/libgroff/curtime.cpp \
36   src/libs/libgroff/device.cpp \
37   src/libs/libgroff/errarg.cpp \
38   src/libs/libgroff/error.cpp \
39   src/libs/libgroff/fatal.cpp \
40   src/libs/libgroff/filename.cpp \
41   src/libs/libgroff/font.cpp \
42   src/libs/libgroff/fontfile.cpp \
43   src/libs/libgroff/geometry.cpp \
44   src/libs/libgroff/getopt.c \
45   src/libs/libgroff/getopt1.c \
46   src/libs/libgroff/glyphuni.cpp \
47   src/libs/libgroff/htmlhint.cpp \
48   src/libs/libgroff/hypot.cpp \
49   src/libs/libgroff/iftoa.c \
50   src/libs/libgroff/invalid.cpp \
51   src/libs/libgroff/itoa.c \
52   src/libs/libgroff/lf.cpp \
53   src/libs/libgroff/lineno.cpp \
54   src/libs/libgroff/localcharset.c \
55   src/libs/libgroff/macropath.cpp \
56   src/libs/libgroff/matherr.c \
57   src/libs/libgroff/maxfilename.cpp \
58   src/libs/libgroff/maxpathname.cpp \
59   src/libs/libgroff/mksdir.cpp \
60   src/libs/libgroff/nametoindex.cpp \
61   src/libs/libgroff/new.cpp \
62   src/libs/libgroff/paper.cpp \
63   src/libs/libgroff/prime.cpp \
64   src/libs/libgroff/progname.c \
65   src/libs/libgroff/ptable.cpp \
66   src/libs/libgroff/quotearg.c \
67   src/libs/libgroff/relocate.cpp \
68   src/libs/libgroff/searchpath.cpp \
69   src/libs/libgroff/spawnvp.c \
70   src/libs/libgroff/string.cpp \
71   src/libs/libgroff/strsave.cpp \
72   src/libs/libgroff/symbol.cpp \
73   src/libs/libgroff/tmpfile.cpp \
74   src/libs/libgroff/tmpname.cpp \
75   src/libs/libgroff/unicode.cpp \
76   src/libs/libgroff/uniglyph.cpp \
77   src/libs/libgroff/uniuni.cpp \
78   src/libs/libgroff/relocatable.h
79 nodist_libgroff_a_SOURCES = src/libs/libgroff/version.cpp
80
81 # TODO: these .c files could be removed (use gnulib instead).
82 EXTRA_DIST += \
83   src/libs/libgroff/mkstemp.cpp \
84   src/libs/libgroff/fmod.c \
85   src/libs/libgroff/getcwd.c \
86   src/libs/libgroff/putenv.c \
87   src/libs/libgroff/strcasecmp.c \
88   src/libs/libgroff/strerror.c \
89   src/libs/libgroff/strncasecmp.c \
90   src/libs/libgroff/strtol.c \
91   src/libs/libgroff/config.charset \
92   src/libs/libgroff/ref-add.sin \
93   src/libs/libgroff/ref-del.sin \
94   src/libs/libgroff/make-uniuni
95
96 CLEANFILES += \
97   src/libs/libgroff/version.cpp \
98   charset.alias \
99   ref-add.sed \
100   ref-del.sed
101
102 # .o files have a 'libgroff_a-' prefix because we set libgroff_a_CPPFLAGS
103 src/libs/libgroff/libgroff_a-device.$(OBJEXT): defs.h
104 src/libs/libgroff/libgroff_a-fontfile.$(OBJEXT): defs.h
105 src/libs/libgroff/libgroff_a-macropath.$(OBJEXT): defs.h
106 src/libs/libgroff/libgroff_a-relocate.$(OBJEXT): defs.h
107
108 src/libs/libgroff/version.cpp: $(top_srcdir)/.version
109         @echo Making version.cpp
110         @echo const char \*version_string = \"$(MAJOR_VERSION).$(MINOR_VERSION)\"\; >$@
111         @echo const char \*revision_string = \"$(REVISION)\"\; >>$@
112         @echo extern \"C\" { >>$@
113         @echo const char \*Version_string = \"$(VERSION)\"\; >>$@
114         @echo } >>$@ \
115           | sed -e 's/\.0\"/\"/' >>$@
116
117 # Data for localcharset.c.  Taken from libiconv/libcharset.
118
119 LIBGROFF_PACKAGE = groff
120
121 all: charset.alias ref-add.sed ref-del.sed
122
123 charset.alias: $(libgroff_srcdir)/config.charset
124         $(SHELL) $(libgroff_srcdir)/config.charset '$(HOST)' > t-$@
125         mv t-$@ $@
126
127 ref-add.sed : $(libgroff_srcdir)/ref-add.sin
128         sed -e '/^#/d' \
129             -e 's/@''PACKAGE''@/$(LIBGROFF_PACKAGE)/g' $(libgroff_srcdir)/ref-add.sin > t-$@
130         mv t-$@ $@
131
132 ref-del.sed : $(libgroff_srcdir)/ref-del.sin
133         sed -e '/^#/d' \
134             -e 's/@''PACKAGE''@/$(LIBGROFF_PACKAGE)/g' $(libgroff_srcdir)/ref-del.sin > t-$@
135         mv t-$@ $@
136
137 install-data-local: install_charset_data
138 install_charset_data:
139         -test $(GLIBC21) != no || $(mkinstalldirs) $(DESTDIR)$(libdir)
140         if test -f $(DESTDIR)$(libdir)/charset.alias; then \
141           sed -f ref-add.sed $(DESTDIR)$(libdir)/charset.alias \
142             > $(DESTDIR)$(libdir)/t-charset.alias; \
143           $(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias \
144             $(DESTDIR)$(libdir)/charset.alias; \
145           rm -f $(DESTDIR)$(libdir)/t-charset.alias; \
146         else \
147           if test $(GLIBC21) = no; then \
148             sed -f ref-add.sed charset.alias \
149               > $(DESTDIR)$(libdir)/t-charset.alias; \
150             $(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias \
151               $(DESTDIR)$(libdir)/charset.alias; \
152             rm -f $(DESTDIR)$(libdir)/t-charset.alias; \
153           fi; \
154         fi
155
156 uninstall-local: uninstall_charset_data
157 uninstall_charset_data:
158         -if test -f $(DESTDIR)$(libdir)/charset.alias; then \
159           sed -f ref-del.sed $(DESTDIR)$(libdir)/charset.alias \
160             > $(DESTDIR)$(libdir)/t-charset.alias; \
161           if grep '^# Packages using this file: $$' \
162                   $(DESTDIR)$(libdir)/t-charset.alias > /dev/null; then \
163             rm -f $(DESTDIR)$(libdir)/charset.alias; \
164           else \
165             $(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias \
166               $(DESTDIR)$(libdir)/charset.alias; \
167           fi; \
168           rm -f $(DESTDIR)$(libdir)/t-charset.alias; \
169         fi
170
171
172 ########################################################################
173 # Editor settings
174 ########################################################################
175 #
176 # Local Variables:
177 # mode: makefile-automake
178 # fill-column: 72
179 # End:
180 # vim: set filetype=automake textwidth=72: