77 lines
3.2 KiB
Makefile
77 lines
3.2 KiB
Makefile
################################################################
|
|
# 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).
|
|
################################################################
|
|
|
|
HERE = $(shell pwd)
|
|
TMP = /tmp
|
|
TDSCOLL = proposal
|
|
EXPORTED = $(TMP)/$(TDSCOLL).exp
|
|
TDSDIR = $(TMP)/$(TDSCOLL).tds
|
|
TDSZIP = $(TMP)/$(TDSCOLL).tds.zip
|
|
CTANDIR = $(TMP)/$(TDSCOLL)
|
|
CTANZIP = $(TMP)/$(TDSCOLL).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'
|
|
# git push
|
|
rm -Rf $(EXPORTED)
|
|
@echo "exporting a clean copy to $(EXPORTED)"
|
|
cd $(TMP); git clone $(HERE); mv LaTeX-proposal $(EXPORTED)
|
|
rm -Rf $(EXPORTED)/.git
|
|
rm $(EXPORTED)/.gitignore
|
|
cd $(EXPORTED); $(MAKE) -$(MAKEFLAGS) ctanext
|
|
@echo "zipping the result to $(TDSCOLL).ctan.zip"
|
|
cd $(TMP); zip -r -q $(CTANZIP) $(TDSCOLL); cp $(CTANZIP) $(HERE)
|
|
# rm -Rf $(EXPORTED) $(CTANDIR) $(CTANZIP)
|
|
|
|
# this target is run on EXPORTED. It first makes the target tdsext below,
|
|
# and then copies all necessary stuff into CTANDIR.
|
|
ctanext: tdsext
|
|
rm -Rf $(CTANDIR) $(CTANZIP)
|
|
@echo " preparing a copy $(CTANDIR) from $(EXPORTED)"
|
|
mkdir -p $(CTANDIR)
|
|
cp $(TDSZIP) $(CTANDIR)
|
|
@for d in $(DTXDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) lctan) done
|
|
@for d in $(SRCDIRS) $(DOCDIRS); do (cp -R $$d $(CTANDIR)) done;
|
|
cp $(TDSZIP) Makefile $(CTANDIR)
|
|
cp $(TDS.doc) $(CTANDIR)/README
|
|
rm -Rf $(TDSZIP)
|
|
|
|
# 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 over stuff to $(TDSDIR)"
|
|
@echo " ... from $(DTXDIRS)"
|
|
@for d in $(DTXDIRS); do (cd $$d && $(MAKE) -$(MAKEFLAGS) ltds) done
|
|
@echo " ... and $(SRCDIRS)"
|
|
@for d in $(SRCDIRS); do (cp -R $$d $(TDSDIR)/source/latex/$(TDSCOLL)) done;
|
|
@echo " ... and $(DOCDIRS)"
|
|
@for d in $(DOCDIRS); do (cp -R $$d $(TDSDIR)/doc/latex/$(TDSCOLL)) done;
|
|
@echo " ... and finally $(TDS.doc)"
|
|
cp $(TDS.doc) $(TDSDIR)/doc/latex/$(TDSCOLL)
|
|
@echo "zipping the result to $(TDSCOLL).tds.zip"
|
|
cd $(TDSDIR); zip -r -q $(TDSZIP) .; cd -
|
|
# rm -Rf $(TDSDIR)
|
|
|
|
|