Bug fixes.
[automake.git] / dist-subd-top.am
blobf504e3fc4a4eee47b6f39cf4262187c9897d340b
1 distdir = $(PACKAGE)-$(VERSION)
2 dist: $(DISTFILES)
3         rm -rf $(distdir)
4         mkdir $(distdir)
5         (cd $(srcdir) && automake --include-deps --output-dir=$(distdir))
6         @for file in $(DISTFILES); do           \
7 ## Test for file existence because sometimes a file gets included in
8 ## DISTFILES twice.  For example this happens when a single source
9 ## file is used in building more than one program.  Also, there are
10 ## situations in which "ln" can fail.  For instance a file to
11 ## distribute could actually be a cross-filesystem symlink -- this can
12 ## easily happen if "gettextize" was run on the distribution.
13           test -f $(distdir)/$$file || {        \
14             echo linking $$file;                \
15             ln $(srcdir)/$$file $(distdir)/$$file; \
16           } || {                                \
17             echo copying $$file instead;        \
18             cp -p $(srcdir)/$$file $(distdir)/$$file; \
19           };                                    \
20         done
21         for subdir in $(SUBDIRS); do            \
22 ## Test for directory existence here because previous automake
23 ## invocation might have created some directories.
24           test -d $(distdir)/$$subdir           \
25           || mkdir $(distdir)/$$subdir          \
26           || exit 1;                            \
27           chmod 777 $(distdir)/$$subdir;        \
28           (cd $$subdir && $(MAKE) $@) || exit 1; \
29         done
30 ## Set "sublist" here because shells fail on "for dir in ; do".
31         @sublist="$(DIST_SUBDIRS)";             \
32         for dir in $$sublist; do                \
33           echo copying directory $$dir;         \
34           tar -chf - $$dir | (cd $(distdir) && tar -xBpf -); \
35         done
36         chmod -R a+r $(distdir)
37         tar -chozf $(distdir).tar.gz $(distdir)
38         rm -rf $(distdir)