use git-tar-tree to make the tarball
authorAndre <maan@p133.(none)>
Thu, 20 Apr 2006 18:56:04 +0000 (20:56 +0200)
committerAndre <maan@p133.(none)>
Thu, 20 Apr 2006 18:56:04 +0000 (20:56 +0200)
This simplifies Makefile.in quite a bit, speeds up the tarball
creation, and reduces the size of the compressed tarball from 560KB
to 408KB, mostly because it no longer contains the screenshot images.

Makefile.in

index 4b19dcd..c65c2d8 100644 (file)
@@ -80,16 +80,14 @@ web_pics := web/sync/paraslash.png web/sync/paraslash.ico
 web_misc := demo-script overview.pdf versions/paraslash-git.tar.bz2 PUBLIC_KEY key.anonymous para.css doc
 web_misc := $(patsubst %,web/sync/%,$(web_misc))
 
-misc := bash_completion
-headers := para.h server.h SFont.h crypt.h list.h http.h send.h ortp.h rc4.h \
-       close_on_fork.h afs.h db.h gcc-compat.h recv.h filter.h audiod.h \
-       grab_client.h error.h net.h ringbuffer.h daemon.h string.h ipc.h dccp.h \
-       fd.h write.h write_common.h
-scripts := install-sh configure
-autocrap := Makefile.in config.h.in configure.ac autogen.sh
-tarball := web/sync/doc pics fonts $(c_sources) $(headers) \
-       $(misc) $(grutatxt) $(gengetopts) $(autocrap) $(gengetopts_c) $(gengetopts_h) \
-       $(scripts)
+autocrap := config.h.in configure
+
+tarball_pfx := @PACKAGE_TARNAME@-@PACKAGE_VERSION@
+
+tarball_delete = web versions pics/screenshots pics/web .changelog_before_cvs \
+       .changelog_cvs
+tarball_delete := $(patsubst %,$(tarball_pfx)/%,$(tarball_delete))
+tarball_add := $(gengetopts_c) $(gengetopts_h) $(autocrap)
 
 .PHONY: clean distclean maintainer-clean install html www tags ChangeLog doxygen
 all: $(BINARIES)
@@ -216,15 +214,17 @@ install: all
        mkdir -p $(MANDIR) && \
        $(install_sh) -m 644 $(MANS) $(MANDIR)
 
-
-@PACKAGE_TARNAME@-@PACKAGE_VERSION@.tar.bz2: all $(gengetopts_c) $(tarball)
-       dir=@PACKAGE_TARNAME@-@PACKAGE_VERSION@ &&\
-       mkdir -p $${dir} && \
-       cp -a $(tarball) $${dir} && \
-       find $${dir} -name "CVS" | xargs rm -rf && \
-       tar cpjf $@ $${dir} && \
-       rm -rf $${dir} && \
-       ls -l $@
+@PACKAGE_TARNAME@-@PACKAGE_VERSION@.tar.bz2: $(tarball_add) doc
+       rm -f $(tarball_pfx).tar.bz2
+       git-tar-tree HEAD $(tarball_pfx) | tar --delete $(tarball_delete) > $(tarball_pfx).tar
+       mkdir $(tarball_pfx)
+       cp -r $(tarball_add) $(tarball_pfx)
+       tar c doc/man | (cd $(tarball_pfx); tar x)
+       tar rf $(tarball_pfx).tar $(tarball_pfx)/*
+       rm -rf $(tarball_pfx)
+       bzip2 -9 $(tarball_pfx).tar
+       rm -f $(tarball_pfx).tar
+       ls -l $(tarball_pfx).tar.bz2
 
 ChangeLog:
        para_util changelog > $@
@@ -232,7 +232,7 @@ web/%.in.html: %
        grutatxt -nb < $< > $@
 tags:
        rm -rf web/sync/HTML && gtags && htags -nF && mv HTML web/sync
-web/sync/doc:
+doc:
        para_util doc
 web/header2.html: web/header.html
        sed -e 's|href="|href="\.\.\/\.\./|g' \
@@ -240,9 +240,10 @@ web/header2.html: web/header.html
 doxygen: web/header2.html
        mkdir -p web/sync/doxygen
        doxygen
+web/sync/doc/man:
+       mkdir -p $@
 web/sync/doxygen:
        mkdir -p $@
-web/sync/doxygen/index.html:
 web/sync/%.html: web/%.in.html web/header.html web/footer.html web/sync
        cat web/header.html $< web/footer.html > $@
 web/sync/%.png: pics/web/%.png web/sync