Home | History | Annotate | Line # | Download | only in po
      1       1.1     skrll # Makefile for program source directory in GNU NLS utilities package.
      2       1.1     skrll # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper <drepper (a] gnu.ai.mit.edu>
      3  1.1.1.10  christos # Copyright (C) 2001-2026 Free Software Foundation, Inc.
      4       1.1     skrll #
      5       1.1     skrll # This file may be copied and used freely without restrictions.  It can
      6       1.1     skrll # be used in projects which are not available under the GNU Public License
      7       1.1     skrll # but which still want to provide support for the GNU gettext functionality.
      8       1.1     skrll # Please note that the actual code is *not* freely available.
      9       1.1     skrll 
     10       1.1     skrll PACKAGE = @PACKAGE@
     11       1.1     skrll VERSION = @VERSION@
     12       1.1     skrll 
     13       1.1     skrll SHELL = /bin/sh
     14       1.1     skrll @SET_MAKE@
     15       1.1     skrll 
     16       1.1     skrll srcdir = @srcdir@
     17       1.1     skrll top_srcdir = @top_srcdir@
     18       1.1     skrll VPATH = @srcdir@
     19       1.1     skrll top_builddir = @top_builddir@
     20       1.1     skrll 
     21       1.1     skrll prefix = @prefix@
     22       1.1     skrll exec_prefix = @exec_prefix@
     23   1.1.1.5  christos datadir = @datadir@
     24   1.1.1.5  christos localedir = @localedir@
     25   1.1.1.5  christos gnulocaledir = @datarootdir@/locale
     26   1.1.1.5  christos gettextsrcdir = @datarootdir@/gettext/po
     27       1.1     skrll subdir = po
     28       1.1     skrll 
     29       1.1     skrll DESTDIR =
     30       1.1     skrll 
     31       1.1     skrll INSTALL = @INSTALL@
     32       1.1     skrll INSTALL_DATA = @INSTALL_DATA@
     33       1.1     skrll MKINSTALLDIRS = @MKINSTALLDIRS@
     34       1.1     skrll 
     35       1.1     skrll CC = @CC@
     36       1.1     skrll GENCAT = @GENCAT@
     37       1.1     skrll GMSGFMT = PATH=../src:$$PATH @GMSGFMT@
     38       1.1     skrll MSGFMT = @MSGFMT@
     39       1.1     skrll XGETTEXT = PATH=../src:$$PATH @XGETTEXT@
     40       1.1     skrll MSGMERGE = PATH=../src:$$PATH msgmerge
     41       1.1     skrll 
     42       1.1     skrll DEFS = @DEFS@
     43       1.1     skrll CFLAGS = @CFLAGS@
     44       1.1     skrll CPPFLAGS = @CPPFLAGS@
     45       1.1     skrll 
     46       1.1     skrll INCLUDES = -I.. -I$(top_srcdir)/intl
     47       1.1     skrll 
     48       1.1     skrll COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
     49       1.1     skrll 
     50       1.1     skrll SOURCES = cat-id-tbl.c
     51       1.1     skrll POFILES = @POFILES@
     52       1.1     skrll GMOFILES = @GMOFILES@
     53       1.1     skrll DISTFILES = ChangeLog Makefile.in.in SRC-POTFILES.in BLD-POTFILES.in $(PACKAGE).pot \
     54       1.1     skrll stamp-cat-id $(POFILES) $(GMOFILES) $(SOURCES)
     55       1.1     skrll 
     56       1.1     skrll # Note - the following line gets processed by bfd/configure and amended
     57       1.1     skrll # to contain the full list of source dir POTFILES.
     58       1.1     skrll SRC-POTFILES = \
     59       1.1     skrll 
     60       1.1     skrll # Note - the following line gets processed by bfd/configure and amended
     61       1.1     skrll # to contain the full list of build dir POTFILES.
     62       1.1     skrll BLD-POTFILES = \
     63       1.1     skrll 
     64       1.1     skrll CATALOGS = @CATALOGS@
     65       1.1     skrll CATOBJEXT = @CATOBJEXT@
     66       1.1     skrll INSTOBJEXT = @INSTOBJEXT@
     67       1.1     skrll 
     68       1.1     skrll .SUFFIXES:
     69       1.1     skrll .SUFFIXES: .c .o .po .pox .gmo .mo .msg .cat
     70       1.1     skrll 
     71       1.1     skrll .c.o:
     72       1.1     skrll 	$(COMPILE) $<
     73       1.1     skrll 
     74       1.1     skrll .po.pox:
     75       1.1     skrll 	$(MAKE) $(PACKAGE).pot
     76       1.1     skrll 	$(MSGMERGE) $< $(srcdir)/$(PACKAGE).pot -o $*.pox
     77       1.1     skrll 
     78       1.1     skrll .po.mo:
     79       1.1     skrll 	$(MSGFMT) -o $@ $<
     80       1.1     skrll 
     81       1.1     skrll .po.gmo:
     82       1.1     skrll 	file=`echo $* | sed 's,.*/,,'`.gmo \
     83       1.1     skrll 	  && rm -f $$file && $(GMSGFMT) -o $$file $<
     84       1.1     skrll 
     85       1.1     skrll .po.cat:
     86       1.1     skrll 	sed -f ../intl/po2msg.sed < $< > $*.msg \
     87       1.1     skrll 	  && rm -f $@ && $(GENCAT) $@ $*.msg
     88       1.1     skrll 
     89       1.1     skrll 
     90       1.1     skrll all: all-@USE_NLS@
     91       1.1     skrll 
     92       1.1     skrll all-yes: $(CATALOGS) @MAINT@ $(PACKAGE).pot
     93       1.1     skrll all-no:
     94       1.1     skrll 
     95       1.1     skrll $(srcdir)/$(PACKAGE).pot: $(SRC-POTFILES) $(BLD-POTFILES)
     96       1.1     skrll 	$(XGETTEXT) --default-domain=$(PACKAGE) \
     97       1.1     skrll 	  --directory=$(top_srcdir) \
     98       1.1     skrll 	  --add-comments --keyword=_ --keyword=N_ \
     99   1.1.1.7  christos 	  --msgid-bugs-address=https://sourceware.org/bugzilla/ \
    100       1.1     skrll 	  --files-from=$(srcdir)/SRC-POTFILES.in 
    101       1.1     skrll 	$(XGETTEXT) --default-domain=$(PACKAGE) \
    102       1.1     skrll 	  --directory=.. \
    103       1.1     skrll 	  --directory=. \
    104       1.1     skrll 	  --add-comments --keyword=_ --keyword=N_ \
    105       1.1     skrll 	  --join-existing \
    106   1.1.1.7  christos 	  --msgid-bugs-address=https://sourceware.org/bugzilla/ \
    107       1.1     skrll 	  --files-from=$(srcdir)/BLD-POTFILES.in
    108   1.1.1.8  christos 	sed -e '/^#:/s,$(top_srcdir)/,,g' < $(PACKAGE).po > $@-t
    109   1.1.1.8  christos 	mv -f $@-t $@
    110       1.1     skrll 
    111       1.1     skrll $(srcdir)/cat-id-tbl.c: stamp-cat-id; @:
    112       1.1     skrll $(srcdir)/stamp-cat-id: $(PACKAGE).pot
    113       1.1     skrll 	rm -f cat-id-tbl.tmp
    114       1.1     skrll 	sed -f ../intl/po2tbl.sed $(srcdir)/$(PACKAGE).pot \
    115       1.1     skrll 		| sed -e "s/@PACKAGE NAME@/$(PACKAGE)/" > cat-id-tbl.tmp
    116       1.1     skrll 	if cmp -s cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; then \
    117       1.1     skrll 	  rm cat-id-tbl.tmp; \
    118       1.1     skrll 	else \
    119       1.1     skrll 	  echo cat-id-tbl.c changed; \
    120       1.1     skrll 	  rm -f $(srcdir)/cat-id-tbl.c; \
    121       1.1     skrll 	  mv cat-id-tbl.tmp $(srcdir)/cat-id-tbl.c; \
    122       1.1     skrll 	fi
    123       1.1     skrll 	cd $(srcdir) && rm -f stamp-cat-id && echo timestamp > stamp-cat-id
    124       1.1     skrll 
    125       1.1     skrll 
    126       1.1     skrll install: install-exec install-data
    127       1.1     skrll install-exec:
    128       1.1     skrll install-info:
    129       1.1     skrll install-html:
    130   1.1.1.9  christos install-dvi:
    131   1.1.1.2  christos install-pdf:
    132   1.1.1.9  christos install-ps:
    133       1.1     skrll install-data: install-data-@USE_NLS@
    134       1.1     skrll install-data-no: all
    135       1.1     skrll install-data-yes: all
    136       1.1     skrll 	if test -r $(MKINSTALLDIRS); then \
    137       1.1     skrll 	  $(MKINSTALLDIRS) $(DESTDIR)$(datadir); \
    138       1.1     skrll 	else \
    139       1.1     skrll 	  $(top_srcdir)/mkinstalldirs $(DESTDIR)$(datadir); \
    140       1.1     skrll 	fi
    141       1.1     skrll 	@catalogs='$(CATALOGS)'; \
    142       1.1     skrll 	for cat in $$catalogs; do \
    143       1.1     skrll 	  cat=`basename $$cat`; \
    144       1.1     skrll 	  case "$$cat" in \
    145       1.1     skrll 	    *.gmo) destdir=$(gnulocaledir);; \
    146       1.1     skrll 	    *)     destdir=$(localedir);; \
    147       1.1     skrll 	  esac; \
    148       1.1     skrll 	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
    149       1.1     skrll 	  dir=$(DESTDIR)$$destdir/$$lang/LC_MESSAGES; \
    150       1.1     skrll 	  if test -r $(MKINSTALLDIRS); then \
    151       1.1     skrll 	    $(MKINSTALLDIRS) $$dir; \
    152       1.1     skrll 	  else \
    153       1.1     skrll 	    $(top_srcdir)/mkinstalldirs $$dir; \
    154       1.1     skrll 	  fi; \
    155       1.1     skrll 	  if test -r $$cat; then \
    156       1.1     skrll 	    $(INSTALL_DATA) $$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
    157       1.1     skrll 	    echo "installing $$cat as $$dir/$(PACKAGE)$(INSTOBJEXT)"; \
    158       1.1     skrll 	  else \
    159       1.1     skrll 	    $(INSTALL_DATA) $(srcdir)/$$cat $$dir/$(PACKAGE)$(INSTOBJEXT); \
    160       1.1     skrll 	    echo "installing $(srcdir)/$$cat as" \
    161       1.1     skrll 		 "$$dir/$(PACKAGE)$(INSTOBJEXT)"; \
    162       1.1     skrll 	  fi; \
    163       1.1     skrll 	  if test -r $$cat.m; then \
    164       1.1     skrll 	    $(INSTALL_DATA) $$cat.m $$dir/$(PACKAGE)$(INSTOBJEXT).m; \
    165       1.1     skrll 	    echo "installing $$cat.m as $$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
    166       1.1     skrll 	  else \
    167       1.1     skrll 	    if test -r $(srcdir)/$$cat.m ; then \
    168       1.1     skrll 	      $(INSTALL_DATA) $(srcdir)/$$cat.m \
    169       1.1     skrll 		$$dir/$(PACKAGE)$(INSTOBJEXT).m; \
    170       1.1     skrll 	      echo "installing $(srcdir)/$$cat as" \
    171       1.1     skrll 		   "$$dir/$(PACKAGE)$(INSTOBJEXT).m"; \
    172       1.1     skrll 	    else \
    173       1.1     skrll 	      true; \
    174       1.1     skrll 	    fi; \
    175       1.1     skrll 	  fi; \
    176       1.1     skrll 	done
    177       1.1     skrll 	if test "$(PACKAGE)" = "gettext"; then \
    178       1.1     skrll 	  if test -r $(MKINSTALLDIRS); then \
    179       1.1     skrll 	    $(MKINSTALLDIRS) $(DESTDIR)$(gettextsrcdir); \
    180       1.1     skrll 	  else \
    181       1.1     skrll 	    $(top_srcdir)/mkinstalldirs $(DESTDIR)$(gettextsrcdir); \
    182       1.1     skrll 	  fi; \
    183       1.1     skrll 	  $(INSTALL_DATA) $(srcdir)/Makefile.in.in \
    184       1.1     skrll 			  $(DESTDIR)$(gettextsrcdir)/Makefile.in.in; \
    185       1.1     skrll 	else \
    186       1.1     skrll 	  : ; \
    187       1.1     skrll 	fi
    188       1.1     skrll 
    189       1.1     skrll # Define this as empty until I found a useful application.
    190       1.1     skrll installcheck:
    191       1.1     skrll 
    192       1.1     skrll uninstall:
    193       1.1     skrll 	catalogs='$(CATALOGS)'; \
    194       1.1     skrll 	for cat in $$catalogs; do \
    195       1.1     skrll 	  cat=`basename $$cat`; \
    196       1.1     skrll 	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
    197       1.1     skrll 	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
    198       1.1     skrll 	  rm -f $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
    199       1.1     skrll 	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT); \
    200       1.1     skrll 	  rm -f $(DESTDIR)$(gnulocaledir)/$$lang/LC_MESSAGES/$(PACKAGE)$(INSTOBJEXT).m; \
    201       1.1     skrll 	done
    202       1.1     skrll 	rm -f $(DESTDIR)$(gettextsrcdir)/po-Makefile.in.in
    203       1.1     skrll 
    204       1.1     skrll check: all
    205       1.1     skrll 
    206       1.1     skrll cat-id-tbl.o: ../intl/libgettext.h
    207       1.1     skrll 
    208       1.1     skrll html dvi pdf ps info tags TAGS ID:
    209       1.1     skrll 
    210       1.1     skrll mostlyclean:
    211       1.1     skrll 	rm -f core core.* *.pox $(PACKAGE).po *.old.po cat-id-tbl.tmp
    212       1.1     skrll 	rm -fr *.o
    213       1.1     skrll 
    214       1.1     skrll clean: mostlyclean
    215       1.1     skrll 
    216       1.1     skrll distclean: clean
    217       1.1     skrll 	rm -f Makefile Makefile.in *.mo *.msg *.cat *.cat.m
    218       1.1     skrll 	rm -f SRC-POTFILES BLD-POTFILES 
    219       1.1     skrll 
    220       1.1     skrll maintainer-clean: distclean
    221       1.1     skrll 	@echo "This command is intended for maintainers to use;"
    222       1.1     skrll 	@echo "it deletes files that may require special tools to rebuild."
    223       1.1     skrll 	rm -f $(GMOFILES) SRC-POTFILES.in BLD-POTFILES.in
    224       1.1     skrll 
    225       1.1     skrll distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
    226       1.1     skrll dist distdir: update-po $(DISTFILES)
    227       1.1     skrll 	dists="$(DISTFILES)"; \
    228       1.1     skrll 	for file in $$dists; do \
    229       1.1     skrll 	  ln $(srcdir)/$$file $(distdir) 2> /dev/null \
    230       1.1     skrll 	    || cp -p $(srcdir)/$$file $(distdir); \
    231       1.1     skrll 	done
    232       1.1     skrll 
    233       1.1     skrll update-po: Makefile
    234       1.1     skrll 	$(MAKE) $(PACKAGE).pot
    235       1.1     skrll 	PATH=`pwd`/../src:$$PATH; \
    236       1.1     skrll 	cd $(srcdir); \
    237       1.1     skrll 	catalogs='$(CATALOGS)'; \
    238       1.1     skrll 	for cat in $$catalogs; do \
    239       1.1     skrll 	  cat=`basename $$cat`; \
    240       1.1     skrll 	  lang=`echo $$cat | sed 's/\$(CATOBJEXT)$$//'`; \
    241       1.1     skrll 	  mv $$lang.po $$lang.old.po; \
    242       1.1     skrll 	  echo "$$lang:"; \
    243       1.1     skrll 	  if $(MSGMERGE) $$lang.old.po $(PACKAGE).pot -o $$lang.po; then \
    244       1.1     skrll 	    rm -f $$lang.old.po; \
    245       1.1     skrll 	  else \
    246       1.1     skrll 	    echo "msgmerge for $$cat failed!"; \
    247       1.1     skrll 	    rm -f $$lang.po; \
    248       1.1     skrll 	    mv $$lang.old.po $$lang.po; \
    249       1.1     skrll 	  fi; \
    250       1.1     skrll 	done
    251       1.1     skrll 
    252       1.1     skrll SRC-POTFILES: SRC-POTFILES.in
    253       1.1     skrll 	( if test 'x$(srcdir)' != 'x.'; then \
    254       1.1     skrll 	    posrcprefix='$(top_srcdir)/'; \
    255       1.1     skrll 	  else \
    256       1.1     skrll 	    posrcprefix="../"; \
    257       1.1     skrll 	  fi; \
    258       1.1     skrll 	  rm -f $@-t $@ \
    259       1.1     skrll 	    && (sed -e '/^#/d' \
    260       1.1     skrll 	            -e '/^[ 	]*$$/d' \
    261       1.1     skrll 		    -e "s@.*@	$$posrcprefix& \\\\@" < $(srcdir)/$@.in \
    262       1.1     skrll 		| sed -e '$$s/\\$$//') > $@-t \
    263       1.1     skrll 	    && chmod a-w $@-t \
    264       1.1     skrll 	    && mv $@-t $@ )
    265       1.1     skrll 
    266       1.1     skrll BLD-POTFILES: BLD-POTFILES.in
    267       1.1     skrll 	  ( rm -f $@-t $@ \
    268       1.1     skrll 	    && (sed -e '/^#/d' \
    269       1.1     skrll 	            -e '/^[ 	]*$$/d' \
    270       1.1     skrll 		    -e "s@.*@	../& \\\\@" < $(srcdir)/$@.in \
    271       1.1     skrll 		| sed -e '$$s/\\$$//') > $@-t \
    272       1.1     skrll 	    && chmod a-w $@-t \
    273       1.1     skrll 	    && mv $@-t $@ )
    274       1.1     skrll 
    275       1.1     skrll SRC-POTFILES.in: @MAINT@ ../Makefile
    276       1.1     skrll 	cd .. && $(MAKE) po/SRC-POTFILES.in
    277       1.1     skrll 
    278       1.1     skrll BLD-POTFILES.in: @MAINT@ ../Makefile
    279       1.1     skrll 	cd .. && $(MAKE) po/BLD-POTFILES.in
    280       1.1     skrll 
    281       1.1     skrll # Note - The presence of SRC-POTFILES and BLD-POTFILES as dependencies
    282       1.1     skrll # here breaks the implementation of the 'distclean' rule for maintainers.
    283       1.1     skrll # This is because if 'make distclean' is run in the BFD directory, the
    284       1.1     skrll # Makefile there will be deleted before 'distclean' is made here, and so
    285       1.1     skrll # the dependency SRC-POTFILES -> SRC-POTFILES.in -> ../Makefile cannot
    286       1.1     skrll # be satisfied.
    287       1.1     skrll #
    288       1.1     skrll # The SRC-POTFILES and BLD-POTFILES dependencies cannot be removed,
    289       1.1     skrll # however since it is necessary that these files be built during
    290       1.1     skrll # *configure* time, so that configure can insert them into the
    291       1.1     skrll # po/Makefile that it is creating, so that the Makefile will have
    292       1.1     skrll # the correct dependencies.
    293       1.1     skrll Makefile: Make-in ../config.status SRC-POTFILES BLD-POTFILES
    294       1.1     skrll 	cd .. \
    295       1.1     skrll 	  && CONFIG_FILES=$(subdir)/Makefile.in:$(subdir)/Make-in \
    296       1.1     skrll 	     CONFIG_HEADERS= $(SHELL) ./config.status
    297       1.1     skrll 
    298       1.1     skrll # Tell versions [3.59,3.63) of GNU make not to export all variables.
    299       1.1     skrll # Otherwise a system limit (for SysV at least) may be exceeded.
    300       1.1     skrll .NOEXPORT:
    301