(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