+dist: local-dist $(GENERATED_BUILD_FILES) top-doc refresh-release-files .gitfilelist
+ @cd $(top-src-dir) && \
+ if test -n "`find . -name .git`" -a '(' -n "`git diff HEAD | head -1`" \
+ -o -n "`git status | grep -i untracked`" ')'; \
+ then echo "*** dist must been rolled on a clean git tree;"; \
+ echo "uncommitted changes or untracked files detected, aborting."; \
+ exit 1; fi
+ rm -rf $(distdir)
+ $(MAKE) local-dist $(distdir)
+ chmod -R a+r $(distdir)
+ chmod a+x `find $(distdir) -type d -print`
+ $(LN) $(TOPDOC_TXT_FILES) $(distdir)
+ $(LN) $(GENERATED_BUILD_FILES:%=$(src-dir)/%) .gitfilelist $(distdir)
+ cd $(top-src-dir) && xargs $(buildscript-dir)/mass-link hard . $(distdir) <$(top-build-dir)/.gitfilelist
+ if test -n "`find $(top-src-dir) -name .git`"; then \
+ COMMIT_DATE=`git --git-dir=$(top-src-dir)/.git log -1 --format=%cD`; \
+ find $(distdir) | xargs touch -d "$$COMMIT_DATE"; fi
+ (cd ./$(depth)/$(outdir); $(TAR) -cf - --owner=0 --group=0 $(DIST_NAME) | gzip -9 > $(DIST_NAME).tar.gz)
+ rm -rf $(distdir)
+
+ifneq ($(shell find $(top-src-dir) -name .git),)
+.gitfilelist: $(top-src-dir)/.git/index
+ cd $(top-src-dir) && git ls-files >$(top-build-dir)/$@
+local-clean-filelist:
+ rm -f .gitfilelist
+else
+.gitfilelist: $(src-dir)/.gitfilelist
+ cp $< $@
+local-clean-filelist:
+endif