Home | History | Annotate | Download | only in intl
      1 # Makefile for directory with message catalog handling library of GNU gettext
      2 # Copyright (C) 1995-1998, 2000-2003 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 
     24 SHELL = @SHELL@
     25 
     26 srcdir = @srcdir@
     27 VPATH = $(srcdir)
     28 
     29 prefix = @prefix@
     30 exec_prefix = @exec_prefix@
     31 transform = @program_transform_name@
     32 libdir = @libdir@
     33 includedir = @includedir@
     34 datarootdir = @datarootdir@
     35 datadir = @datadir@
     36 localedir = $(datadir)/locale
     37 aliaspath = $(localedir)
     38 
     39 AR = ar
     40 ACLOCAL = @ACLOCAL@
     41 AUTOCONF = @AUTOCONF@
     42 AUTOHEADER = @AUTOHEADER@
     43 CC = @CC@
     44 RANLIB = @RANLIB@
     45 YACC = @INTLBISON@ -y -d
     46 YFLAGS = --name-prefix=__gettext
     47 CPPFLAGS = @CPPFLAGS@
     48 CFLAGS = @CFLAGS@
     49 LDFLAGS = @LDFLAGS@
     50 LIBS = @LIBS@
     51 DEFS = -DHAVE_CONFIG_H
     52 
     53 COMPILE = $(CC) -c $(CPPFLAGS) $(CFLAGS) $(DEFS) $(DEFS-$@) $(INCLUDES)
     54 
     55 HEADERS = \
     56   gmo.h \
     57   gettextP.h \
     58   hash-string.h \
     59   loadinfo.h \
     60   plural-exp.h \
     61   eval-plural.h \
     62   localcharset.h \
     63   relocatable.h \
     64   libgnuintl.h
     65 SOURCES = \
     66   bindtextdom.c \
     67   dcgettext.c \
     68   dgettext.c \
     69   gettext.c \
     70   finddomain.c \
     71   loadmsgcat.c \
     72   localealias.c \
     73   textdomain.c \
     74   l10nflist.c \
     75   explodename.c \
     76   dcigettext.c \
     77   dcngettext.c \
     78   dngettext.c \
     79   ngettext.c \
     80   plural.y \
     81   plural-exp.c \
     82   localcharset.c \
     83   relocatable.c \
     84   localename.c \
     85   log.c \
     86   osdep.c \
     87   intl-compat.c
     88 OBJECTS = \
     89   bindtextdom.o \
     90   dcgettext.o \
     91   dgettext.o \
     92   gettext.o \
     93   finddomain.o \
     94   loadmsgcat.o \
     95   localealias.o \
     96   textdomain.o \
     97   l10nflist.o \
     98   explodename.o \
     99   dcigettext.o \
    100   dcngettext.o \
    101   dngettext.o \
    102   ngettext.o \
    103   plural.o \
    104   plural-exp.o \
    105   localcharset.o \
    106   relocatable.o \
    107   localename.o \
    108   log.o \
    109   osdep.o \
    110   intl-compat.o
    111 
    112 DEFS-dcigettext.o = -DLOCALEDIR="\"$(localedir)\""
    113 DEFS-localealias.o = -DLOCALE_ALIAS_PATH="\"$(aliaspath)\""
    114 DEFS-localcharset.o = -DLIBDIR="\"$(libdir)\""
    115 DEFS-relocatable.o = -DINSTALLDIR="\"$(libdir)\""
    116 
    117 all: all-@USE_INCLUDED_LIBINTL@
    118 all-yes: libintl.a libintl.h config.intl
    119 all-no: # nothing
    120 
    121 libintl.a: $(OBJECTS)
    122 	rm -f $@
    123 	$(AR) cru $@ $(OBJECTS)
    124 	$(RANLIB) $@
    125 
    126 libintl.h: $(srcdir)/libgnuintl.h
    127 	cp $(srcdir)/libgnuintl.h $@
    128 
    129 .SUFFIXES:
    130 .SUFFIXES: .c .y .o
    131 
    132 .c.o:
    133 	$(COMPILE) $<
    134 
    135 .y.c:
    136 	$(YACC) $(YFLAGS) --output $@ $<
    137 	rm -f $*.h
    138 
    139 INCLUDES = -I. -I$(srcdir)
    140 
    141 check: all
    142 
    143 # The installation targets have been disabled.
    144 install: install-exec install-data
    145 install-exec: all
    146 install-data: all
    147 install-strip: install
    148 installdirs:
    149 installcheck:
    150 uninstall:
    151 
    152 .PHONY: info dvi ps pdf html
    153 .PHONY: install-info install-dvi install-ps install-pdf install-html
    154 
    155 info dvi ps pdf html:
    156 install-info install-dvi install-ps install-pdf install-html:
    157 
    158 $(OBJECTS): config.h libintl.h
    159 bindtextdom.o dcgettext.o dcigettext.o dcngettext.o dgettext.o \
    160 dngettext.o finddomain.o gettext.o intl-compat.o loadmsgcat.o \
    161 localealias.o ngettext.o textdomain.o: gettextP.h gmo.h loadinfo.h
    162 dcigettext.o loadmsgcat.o: hash-string.h
    163 explodename.o l10nflist.o: loadinfo.h
    164 dcigettext.o loadmsgcat.o plural.o plural-exp.o: plural-exp.h
    165 dcigettext.o: eval-plural.h
    166 localcharset.o: localcharset.h
    167 localealias.o localcharset.o relocatable.o: relocatable.h
    168 
    169 tags: TAGS
    170 TAGS: $(HEADERS) $(SOURCES)
    171 	here=`pwd`; cd $(srcdir) && \
    172 		etags -o $$here/TAGS $(HEADERS) $(SOURCES)
    173 
    174 ctags: CTAGS
    175 CTAGS: $(HEADERS) $(SOURCES)
    176 	here=`pwd`; cd $(srcdir) && \
    177 		ctags -o $$here/CTAGS $(HEADERS) $(SOURCES)
    178 
    179 id: ID
    180 ID: $(HEADERS) $(SOURCES)
    181 	here=`pwd`; cd $(srcdir) && \
    182 		mkid -f$$here/ID $(HEADERS) $(SOURCES)
    183 
    184 mostlyclean:
    185 	rm -f *.a *.la *.o *.obj *.lo core core.* libintl.h
    186 
    187 clean: mostlyclean
    188 
    189 distclean: clean
    190 	rm -f config.status config.cache config.log config.intl config.h
    191 	rm -f Makefile ID TAGS
    192 
    193 maintainer-clean: distclean
    194 
    195 # The 'make dist' targets have been disabled; the GNU toolchain handles this
    196 # with a script maintained separately from the Makefile.
    197 dist:
    198 distdir:
    199 
    200 # Rules to rebuild the configuration
    201 
    202 Makefile: $(srcdir)/Makefile.in config.status
    203 	$(SHELL) ./config.status Makefile
    204 
    205 config.intl: $(srcdir)/config.intl.in config.status
    206 	$(SHELL) ./config.status config.intl
    207 
    208 config.status: $(srcdir)/configure
    209 	$(SHELL) ./config.status --recheck
    210 
    211 $(srcdir)/configure: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
    212 	cd $(srcdir) && $(AUTOCONF)
    213 
    214 aclocal_deps = \
    215 	$(srcdir)/configure.ac \
    216 	$(srcdir)/../config/codeset.m4 \
    217 	$(srcdir)/../config/gettext.m4 \
    218 	$(srcdir)/../config/glibc21.m4 \
    219 	$(srcdir)/../config/iconv.m4 \
    220 	$(srcdir)/../config/intdiv0.m4 \
    221 	$(srcdir)/../config/inttypes-pri.m4 \
    222 	$(srcdir)/../config/inttypes.m4 \
    223 	$(srcdir)/../config/inttypes_h.m4 \
    224 	$(srcdir)/../config/lcmessage.m4 \
    225 	$(srcdir)/../config/lib-ld.m4 \
    226 	$(srcdir)/../config/lib-link.m4 \
    227 	$(srcdir)/../config/lib-prefix.m4 \
    228 	$(srcdir)/../config/nls.m4 \
    229 	$(srcdir)/../config/po.m4 \
    230 	$(srcdir)/../config/progtest.m4 \
    231 	$(srcdir)/../config/stdint_h.m4 \
    232 	$(srcdir)/../config/uintmax_t.m4 \
    233 	$(srcdir)/../config/ulonglong.m4
    234 
    235 $(srcdir)/aclocal.m4: @MAINT@ $(aclocal_deps)
    236 	cd $(srcdir) && $(ACLOCAL) -I ../config
    237 
    238 config.h: stamp-h1
    239 	test -f config.h || (rm -f stamp-h1 && $(MAKE) stamp-h1)
    240 
    241 stamp-h1: $(srcdir)/config.h.in config.status
    242 	-rm -f stamp-h1
    243 	$(SHELL) ./config.status config.h
    244 
    245 $(srcdir)/config.h.in: @MAINT@ $(srcdir)/aclocal.m4 $(srcdir)/configure.ac
    246 	cd $(srcdir) && $(AUTOHEADER)
    247 	-rm -f stamp-h1
    248 
    249 # Tell versions [3.59,3.63) of GNU make not to export all variables.
    250 # Otherwise a system limit (for SysV at least) may be exceeded.
    251 .NOEXPORT:
    252