Next: src/Makefile, Previous:, Up: Adjusting Files   [Contents][Index]

13.4.10 at top level

Here are a few modifications you need to make to your main, top-level file.

  1. Add the following lines near the beginning of your, so the ‘dist:’ goal will work properly (as explained further down):
    PACKAGE = @[email protected]
    VERSION = @[email protected]
  2. Wherever you process subdirectories in your, be sure you also process the subdirectory ‘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 for it to be further used in the ‘dist:’ goal.

    SUBDIRS = doc lib src po
  3. A delicate point is the ‘dist:’ goal, as 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); \
        for subdir in $(SUBDIRS); do \
          mkdir $(distdir)/$$subdir || exit 1; \
          chmod 777 $(distdir)/$$subdir; \
          (cd $$subdir && $(MAKE) [email protected]) || exit 1; \
        tar chozf $(distdir).tar.gz $(distdir)
        rm -fr $(distdir)

Note that if you are using GNU automake, is automatically generated from, and all needed changes to are already made by running ‘gettextize’.

Next: src/Makefile, Previous:, Up: Adjusting Files   [Contents][Index]