Go to the first, previous, next, last section, table of contents.


`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 `NLS' to the DISTFILES definition, so the file gets distributed.
  3. Wherever you process subdirectories in your `Makefile.in', be sure you also process @INTLSUB@ and @POSUB@, which are replaced respectively by `intl' and `po', or empty when the configuration processes decides these directories should not be processed. 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 lib @INTLSUB@ src @POSUB@
    
    that you will have to adapt to your own package.
  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)
    


Go to the first, previous, next, last section, table of contents.