diff options
Diffstat (limited to 'macros/latex/contrib/proposal/lib/Makefile.ctan')
-rw-r--r-- | macros/latex/contrib/proposal/lib/Makefile.ctan | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/macros/latex/contrib/proposal/lib/Makefile.ctan b/macros/latex/contrib/proposal/lib/Makefile.ctan new file mode 100644 index 0000000000..d24d524aa6 --- /dev/null +++ b/macros/latex/contrib/proposal/lib/Makefile.ctan @@ -0,0 +1,88 @@ +################################################################ +# make a zip for CTAN submission including the TeX directory structure. +# +# The overall procedure is to run make in this directory $(HERE) and then +# export it to a temporary directory $(EXPORTED) without all the generated +# files. On this directory we run "make ctanext" (see below) which makes a +# CTAN-compliant directory structure, and zips it up to the file +# <package>.ctan.zip which can be submitted to the CTAN maintainers. +# +# Note that part of the CTAN submission is a zip file with a TDS-compliant +# directory struture, which is generated by running "make tdsext" (see below) +# on $(EXPORTED). +# +# Note furthermore, that this Makefile only automates the top-level mechanics +# of the CTAN zip files, ... It relies on the Variables set in the regular Makefiles +# and in particular on their targets "ltds", "lctan", "filedate", and "checksum". +################################################################ + +HERE = $(shell pwd) +GITREPOS = $(HERE) +REPOSNAME = LaTeX-proposal +TMP = /tmp +#TDSCOLL ?= $(shell basename $$PWD) +TDSCOLL = proposal +EXPORTED = $(TMP)/$(TDSCOLL).exp + +TDS.dir = $(TDSCOLL).tds +TDSDIR = $(TMP)/$(TDS.dir) +TDS.zip = $(TDS.dir).zip +TDSZIP = $(TMP)/$(TDS.zip) + +CTANDIR = $(TMP)/$(TDSCOLL) +CTAN.zip = $(TDSCOLL).ctan.zip +CTANZIP = $(TMP)/$(CTAN.zip) + +MAKE = make + +# this target makes the file CTANZIP by creating and populating the directory +# CTANDIR and zipping it. To be current, we first make all, and update +# the filedates and the checksums. To get rid of all the junk we commit and +# export a clean copy EXPORTED, on which we run the target ctanexp below, +# which generates a directory CTANDIR, which we zip and move into place. +ctan: all filedate checksum + git commit -am'draining just to be sure for CTAN distribution' --allow-empty + rm -Rf $(EXPORTED) + @echo "exporting a clean copy to $(EXPORTED)" + cd $(TMP);rm -Rf $(REPOSNAME);git clone $(GITREPOS);mv $(REPOSNAME) $(EXPORTED) + rm -Rf $(EXPORTED)/.git + find $(EXPORTED) -name ".gitignore" -delete + cd $(EXPORTED);$(MAKE) -$(MAKEFLAGS) ctanext + @echo "zipping the result to $(TDSCOLL).ctan.zip" + cd $(TMP);zip -r $(CTANZIP) $(TDS.zip) $(TDSCOLL);cp $(CTANZIP) $(HERE) + @echo "cleaning up" + rm -Rf $(EXPORTED) $(CTANDIR) $(CTANZIP) $(TDSZIP) + @echo "disabling checksums again for further development" + $(MAKE) -$(MAKEFLAGS) disablechecksum + +# this target is run on EXPORTED. It first makes the target tdsext below, +# and then copies all necessary stuff into CTANDIR. +ctanext: tdsext + @echo "making a CTAN compliant archive in $(CTANDIR)" + rm -Rf $(CTANDIR) $(CTANZIP) + mkdir -p $(CTANDIR) + @echo " copying material from $(EXPORTED) to $(CTANDIR)" + @for d in $(DTXDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) lctan) done + @for d in $(SRCDIRS) $(DOCDIRS); do (cp -R $$d $(CTANDIR)) done; + @for d in $(SRCFILES); do (cp -p $$d $(CTANDIR)) done; + cp $(TDS.README) $(CTANDIR)/README + +# this target makes the file TDSZIP by creating and populating the directory +# TDSDIR and zipping it. +tdsext: + @echo "making a TDS compliant archive" + rm -Rf $(TDSDIR) $(TDSZIP) + @echo " enabling checksums" + $(MAKE) -$(MAKEFLAGS) enablechecksum + @echo " copying LaTeX Sources to $(TDSDIR)" + @for d in $(DTXDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) ltds) done + @echo " copying binary dir to $(TDSDIR)" + @for d in $(SRCDIRS); do (cp -R $$d $(TDSDIR)/source/latex/$(TDSCOLL)) done; + @for d in $(SRCFILES); do (cp -R $$d $(TDSDIR)/source/latex/$(TDSCOLL)) done; + @echo " copying documentation to $(TDSDIR)" + @for d in $(DOCDIRS); do (cp -R $$d $(TDSDIR)/doc/latex/$(TDSCOLL)) done; + @for d in $(TDS.doc); do (cp -R $$d $(TDSDIR)/doc/latex/$(TDSCOLL)) done; + @echo "zipping the result to $(TDSCOLL).tds.zip" + cd $(TDSDIR);zip -r -q $(TDSZIP) . + @echo "and removing the temporary directory $(TDSDIR)" + rm -Rf $(TDSDIR) |