1 # Copyright (C) 2014-2018 Free Software Foundation, Inc.
3 # Latest update: 13 Aug 2015
5 # This file is part of groff.
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.
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
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/>.
20 libgroff_srcdir = $(top_srcdir)/src/libs/libgroff
21 noinst_LIBRARIES += libgroff.a
22 libgroff_a_CPPFLAGS = \
24 -D__GETOPT_PREFIX=groff_ \
25 -DENABLE_RELOCATABLE=1 \
26 -DLIBDIR=\"$(libdir)\"
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
81 # TODO: these .c files could be removed (use gnulib instead).
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
97 src/libs/libgroff/version.cpp \
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
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)\"\; >>$@
115 | sed -e 's/\.0\"/\"/' >>$@
117 # Data for localcharset.c. Taken from libiconv/libcharset.
119 LIBGROFF_PACKAGE = groff
121 all: charset.alias ref-add.sed ref-del.sed
123 charset.alias: $(libgroff_srcdir)/config.charset
124 $(SHELL) $(libgroff_srcdir)/config.charset '$(HOST)' > t-$@
127 ref-add.sed : $(libgroff_srcdir)/ref-add.sin
129 -e 's/@''PACKAGE''@/$(LIBGROFF_PACKAGE)/g' $(libgroff_srcdir)/ref-add.sin > t-$@
132 ref-del.sed : $(libgroff_srcdir)/ref-del.sin
134 -e 's/@''PACKAGE''@/$(LIBGROFF_PACKAGE)/g' $(libgroff_srcdir)/ref-del.sin > t-$@
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; \
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; \
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; \
165 $(INSTALL_DATA) $(DESTDIR)$(libdir)/t-charset.alias \
166 $(DESTDIR)$(libdir)/charset.alias; \
168 rm -f $(DESTDIR)$(libdir)/t-charset.alias; \
172 ########################################################################
174 ########################################################################
177 # mode: makefile-automake
180 # vim: set filetype=automake textwidth=72: