diff options
Diffstat (limited to 'GNUmakefile.in')
-rw-r--r-- | GNUmakefile.in | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/GNUmakefile.in b/GNUmakefile.in index 4d8fc794bbb..30553b2a950 100644 --- a/GNUmakefile.in +++ b/GNUmakefile.in @@ -87,29 +87,25 @@ update-unicode: | submake-generated-headers submake-libpgport distdir = postgresql-$(VERSION) dummy = =install= -dist: $(distdir).tar.gz $(distdir).tar.bz2 - rm -rf $(distdir) +GIT = git -$(distdir).tar: distdir - $(TAR) chf $@ $(distdir) +dist: $(distdir).tar.gz $(distdir).tar.bz2 -.INTERMEDIATE: $(distdir).tar +.PHONY: $(distdir).tar.gz $(distdir).tar.bz2 distdir-location: @echo $(distdir) -distdir: - rm -rf $(distdir)* $(dummy) - for x in `cd $(top_srcdir) && find . \( -name CVS -prune \) -o \( -name .git -prune \) -o -print`; do \ - file=`expr X$$x : 'X\./\(.*\)'`; \ - if test -d "$(top_srcdir)/$$file" ; then \ - mkdir "$(distdir)/$$file" && chmod 777 "$(distdir)/$$file"; \ - else \ - ln "$(top_srcdir)/$$file" "$(distdir)/$$file" >/dev/null 2>&1 \ - || cp "$(top_srcdir)/$$file" "$(distdir)/$$file"; \ - fi || exit; \ - done - $(MAKE) -C $(distdir) distclean +# Note: core.autocrlf=false is needed to avoid line-ending conversion +# in case the environment has a different setting. Without this, a +# tarball created on Windows might be different than on, and unusable +# on, Unix machines. + +$(distdir).tar.gz: + $(GIT) -C $(srcdir) -c core.autocrlf=false archive --format tar.gz -9 --prefix $(distdir)/ HEAD -o $(abs_top_builddir)/$@ + +$(distdir).tar.bz2: + $(GIT) -C $(srcdir) -c core.autocrlf=false -c tar.tar.bz2.command='$(BZIP2) -c' archive --format tar.bz2 --prefix $(distdir)/ HEAD -o $(abs_top_builddir)/$@ distcheck: dist rm -rf $(dummy) @@ -135,4 +131,4 @@ headerscheck: submake-generated-headers cpluspluscheck: submake-generated-headers $(top_srcdir)/src/tools/pginclude/headerscheck --cplusplus $(top_srcdir) $(abs_top_builddir) -.PHONY: dist distdir distcheck docs install-docs world check-world install-world installcheck-world headerscheck cpluspluscheck +.PHONY: dist distcheck docs install-docs world check-world install-world installcheck-world headerscheck cpluspluscheck |