1# Makefile for directory with message catalog handling library of GNU gettext 2# Copyright (C) 1995-2021 Free Software Foundation, Inc. 3# 4# This program is free software; you can redistribute it and/or modify it 5# under the terms of the GNU Library General Public License as published 6# by the Free Software Foundation; either version 2, or (at your option) 7# any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12# Library General Public License for more details. 13# 14# You should have received a copy of the GNU Library General Public 15# License along with this program; if not, write to the Free Software 16# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, 17# USA. 18 19# This Makefile has been modified from the original shipped with 20# gettext 0.12.1 to remove the ability to install libintl (which 21# we do not need nor want), the ability to build a shared library 22# (likewise), and a large number of heinous kludges. 23 24SHELL = @SHELL@ 25 26srcdir = @srcdir@ 27VPATH = $(srcdir) 28 29prefix = @prefix@ 30exec_prefix = @exec_prefix@ 31transform = @program_transform_name@ 32libdir = @libdir@ 33includedir = @includedir@ 34datarootdir = @datarootdir@ 35datadir = @datadir@ 36localedir = $(datadir)/locale 37aliaspath = $(localedir) 38 39AR = ar 40ACLOCAL = @ACLOCAL@ 41AUTOCONF = @AUTOCONF@ 42AUTOHEADER = @AUTOHEADER@ 43CC = @CC@ 44RANLIB = @RANLIB@ 45YACC = @INTLBISON@ -y -d 46YFLAGS = --name-prefix=__gettext 47CPPFLAGS = @CPPFLAGS@ 48CFLAGS = @CFLAGS@ @PICFLAG@ 49LDFLAGS = @LDFLAGS@ 50LIBS = @LIBS@ 51DEFS = -DHAVE_CONFIG_H 52 53CTAGS = @CTAGS@ 54ETAGS = @ETAGS@ 55MKID = @MKID@ 56 57COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(DEFS-$@) $(INCLUDES) 58 59HEADERS = \ 60 gmo.h \ 61 gettextP.h \ 62 hash-string.h \ 63 loadinfo.h \ 64 plural-config.h \ 65 plural-exp.h \ 66 eval-plural.h \ 67 localcharset.h \ 68 relocatable.h \ 69 libgnuintl.h 70SOURCES = \ 71 bindtextdom.c \ 72 dcgettext.c \ 73 dgettext.c \ 74 gettext.c \ 75 finddomain.c \ 76 loadmsgcat.c \ 77 localealias.c \ 78 textdomain.c \ 79 l10nflist.c \ 80 explodename.c \ 81 dcigettext.c \ 82 dcngettext.c \ 83 dngettext.c \ 84 ngettext.c \ 85 plural.y \ 86 plural-exp.c \ 87 localcharset.c \ 88 relocatable.c \ 89 localename.c \ 90 log.c \ 91 osdep.c \ 92 intl-compat.c 93OBJECTS = \ 94 bindtextdom.o \ 95 dcgettext.o \ 96 dgettext.o \ 97 gettext.o \ 98 finddomain.o \ 99 loadmsgcat.o \ 100 localealias.o \ 101 textdomain.o \ 102 l10nflist.o \ 103 explodename.o \ 104 dcigettext.o \ 105 dcngettext.o \ 106 dngettext.o \ 107 ngettext.o \ 108 plural.o \ 109 plural-exp.o \ 110 localcharset.o \ 111 relocatable.o \ 112 localename.o \ 113 log.o \ 114 osdep.o \ 115 intl-compat.o 116 117DEFS-dcigettext.o = -DLOCALEDIR="\"$(localedir)\"" 118DEFS-localealias.o = -DLOCALE_ALIAS_PATH="\"$(aliaspath)\"" 119DEFS-localcharset.o = -DLIBDIR="\"$(libdir)\"" 120DEFS-relocatable.o = -DINSTALLDIR="\"$(libdir)\"" 121 122all: all-@USE_INCLUDED_LIBINTL@ 123all-yes: libintl.a libintl.h config.intl 124all-no: # nothing 125 126libintl.a: $(OBJECTS) 127 rm -f $@ 128 $(AR) cru $@ $(OBJECTS) 129 $(RANLIB) $@ 130 131libintl.h: $(srcdir)/libgnuintl.h 132 cp $(srcdir)/libgnuintl.h $@ 133 134.SUFFIXES: 135.SUFFIXES: .c .y .o 136 137.c.o: 138 $(COMPILE) $< 139 140.y.c: 141@BISON3_YES@ echo '#define USE_BISON3' > $(patsubst %.c,%-config.h,$@) 142@BISON3_YES@ sed 's,%pure_parser,,;s,^/\* BISON3 \(.*\) \*/$$,\1,' $< > $@.y 143@BISON3_YES@ $(YACC) $(YFLAGS) --output $@.c $@.y 144@BISON3_YES@ sed 's/\.c\.y"/.y"/' $@.c > $@ 145@BISON3_YES@ rm -f $@.c $@.y $@.h 146@BISON3_NO@ echo '/* #define USE_BISON3 */' > $(patsubst %.c,%-config.h,$@) 147@BISON3_NO@ $(YACC) $(YFLAGS) --output $@ $< 148 rm -f $*.h 149 150INCLUDES = -I. -I$(srcdir) 151 152check: all 153 154# The installation targets have been disabled. 155install: install-exec install-data 156install-exec: all 157install-data: all 158install-strip: install 159installdirs: 160installcheck: 161uninstall: 162 163.PHONY: info dvi ps pdf html 164.PHONY: install-info install-dvi install-ps install-pdf install-html 165 166info dvi ps pdf html: 167install-info install-dvi install-ps install-pdf install-html: 168 169$(OBJECTS): config.h libintl.h 170bindtextdom.o dcgettext.o dcigettext.o dcngettext.o dgettext.o \ 171dngettext.o finddomain.o gettext.o intl-compat.o loadmsgcat.o \ 172localealias.o ngettext.o textdomain.o: gettextP.h gmo.h loadinfo.h 173dcigettext.o loadmsgcat.o: hash-string.h 174explodename.o l10nflist.o: loadinfo.h 175dcigettext.o loadmsgcat.o plural.o plural-exp.o: plural-exp.h plural-config.h 176dcigettext.o: eval-plural.h 177localcharset.o: localcharset.h 178localealias.o localcharset.o relocatable.o: relocatable.h 179 180tags: TAGS 181TAGS: $(HEADERS) $(SOURCES) 182 here=`pwd`; cd $(srcdir) && \ 183 $(ETAGS) -o $$here/TAGS $(HEADERS) $(SOURCES) 184 185ctags: CTAGS 186CTAGS: $(HEADERS) $(SOURCES) 187 here=`pwd`; cd $(srcdir) && \ 188 $(CTAGS) -o $$here/CTAGS $(HEADERS) $(SOURCES) 189 190id: ID 191ID: $(HEADERS) $(SOURCES) 192 here=`pwd`; cd $(srcdir) && \ 193 $(MKID) -f$$here/ID $(HEADERS) $(SOURCES) 194 195mostlyclean: 196 rm -f *.a *.la *.o *.obj *.lo core core.* libintl.h 197 198clean: mostlyclean 199 200distclean: clean 201 rm -f config.status config.cache config.log config.intl config.h 202 rm -f Makefile ID TAGS 203 204maintainer-clean: distclean 205 206# The 'make dist' targets have been disabled; the GNU toolchain handles this 207# with a script maintained separately from the Makefile. 208dist: 209distdir: 210 211# Rules to rebuild the configuration 212 213Makefile: $(srcdir)/Makefile.in config.status 214 $(SHELL) ./config.status Makefile 215 216config.intl: $(srcdir)/config.intl.in config.status 217 $(SHELL) ./config.status config.intl 218 219config.status: $(srcdir)/configure 220 $(SHELL) ./config.status --recheck 221 222$(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac 223 cd $(srcdir) && $(AUTOCONF) 224 225aclocal_deps = \ 226 $(srcdir)/configure.ac \ 227 $(srcdir)/../config/codeset.m4 \ 228 $(srcdir)/../config/gettext.m4 \ 229 $(srcdir)/../config/glibc21.m4 \ 230 $(srcdir)/../config/iconv.m4 \ 231 $(srcdir)/../config/intdiv0.m4 \ 232 $(srcdir)/../config/inttypes-pri.m4 \ 233 $(srcdir)/../config/inttypes.m4 \ 234 $(srcdir)/../config/inttypes_h.m4 \ 235 $(srcdir)/../config/lcmessage.m4 \ 236 $(srcdir)/../config/lib-ld.m4 \ 237 $(srcdir)/../config/lib-link.m4 \ 238 $(srcdir)/../config/lib-prefix.m4 \ 239 $(srcdir)/../config/nls.m4 \ 240 $(srcdir)/../config/po.m4 \ 241 $(srcdir)/../config/progtest.m4 \ 242 $(srcdir)/../config/stdint_h.m4 \ 243 $(srcdir)/../config/uintmax_t.m4 \ 244 $(srcdir)/../config/ulonglong.m4 245 246$(srcdir)/aclocal.m4: @MAINT@ $(aclocal_deps) 247 cd $(srcdir) && $(ACLOCAL) -I ../config 248 249config.h: stamp-h1 250 test -f config.h || (rm -f stamp-h1 && $(MAKE) stamp-h1) 251 252plural-config.h: plural.c 253 254stamp-h1: $(srcdir)/config.h.in config.status 255 -rm -f stamp-h1 256 $(SHELL) ./config.status config.h 257 258$(srcdir)/config.h.in: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac 259 cd $(srcdir) && $(AUTOHEADER) 260 -rm -f stamp-h1 261 262# Tell versions [3.59,3.63) of GNU make not to export all variables. 263# Otherwise a system limit (for SysV at least) may be exceeded. 264.NOEXPORT: 265