DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(gettext.info.gz) Makefile

Info Catalog (gettext.info.gz) config (gettext.info.gz) Adjusting Files (gettext.info.gz) src/Makefile
 
 13.4.11 `Makefile.in' at top level
 ----------------------------------
 
 Here are a few modifications you need to make to your main, top-level
 `Makefile.in' file.
 
   1. Add the following lines near the beginning of your `Makefile.in',
      so the `dist:' goal will work properly (as explained further down):
 
           PACKAGE = @PACKAGE@
           VERSION = @VERSION@
 
   2. Add file `ABOUT-NLS' to the `DISTFILES' definition, so the file
      gets distributed.
 
   3. Wherever you process subdirectories in your `Makefile.in', be sure
      you also process the subdirectories `intl' and `po'.  Special
      rules in the `Makefiles' take care for the case where no
      internationalization is wanted.
 
      If you are using Makefiles, either generated by automake, or
      hand-written so they carefully follow the GNU coding standards,
      the effected goals for which the new subdirectories must be
      handled include `installdirs', `install', `uninstall', `clean',
      `distclean'.
 
      Here is an example of a canonical order of processing.  In this
      example, we also define `SUBDIRS' in `Makefile.in' for it to be
      further used in the `dist:' goal.
 
           SUBDIRS = doc intl lib src po
 
      Note that you must arrange for `make' to descend into the `intl'
      directory before descending into other directories containing code
      which make use of the `libintl.h' header file.  For this reason,
      here we mention `intl' before `lib' and `src'.
 
   4. A delicate point is the `dist:' goal, as both `intl/Makefile' and
      `po/Makefile' will later assume that the proper directory has been
      set up from the main `Makefile'.  Here is an example at what the
      `dist:' goal might look like:
 
           distdir = $(PACKAGE)-$(VERSION)
           dist: Makefile
           	rm -fr $(distdir)
           	mkdir $(distdir)
           	chmod 777 $(distdir)
           	for file in $(DISTFILES); do \
           	  ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
           	done
           	for subdir in $(SUBDIRS); do \
           	  mkdir $(distdir)/$$subdir || exit 1; \
           	  chmod 777 $(distdir)/$$subdir; \
           	  (cd $$subdir && $(MAKE) $@) || exit 1; \
           	done
           	tar chozf $(distdir).tar.gz $(distdir)
           	rm -fr $(distdir)
 
 
    Note that if you are using GNU `automake', `Makefile.in' is
 automatically generated from `Makefile.am', and all needed changes to
 `Makefile.am' are already made by running `gettextize'.
 
Info Catalog (gettext.info.gz) config (gettext.info.gz) Adjusting Files (gettext.info.gz) src/Makefile
automatically generated byinfo2html