From cc0e94205036572e42f7c8860a224e73d8c3719f Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 9 Aug 2001 23:35:57 +0000 Subject: [PATCH] tex.mk: Total rewrite of the variables (with the old stuff still in) --- make/tex.mk | 175 ++++++++++++++++++++++++++++------------------------ 1 file changed, 95 insertions(+), 80 deletions(-) diff --git a/make/tex.mk b/make/tex.mk index ba8b2a04..6a483c41 100644 --- a/make/tex.mk +++ b/make/tex.mk @@ -3,28 +3,39 @@ # contact@jannet.de # $Id$ -FIG = $(wildcard *.fig) -EPSFROMFIG = $(patsubst %.fig,%.eps,$(FIG)) -IMAGES = $(patsubst %,$(IMAGEDIR)/%,$(FRONTLOGO_EPS) $(FRONTLOGO_WEB) \ - $(ICON_UP) $(ICON_PREV) $(ICON_NEXT) $(ICON_INDEX) $(ICON_CONTENTS)) \ - $(EPSFROMFIG) -LOCAL_IMPORTED_TEMPLATES = $(notdir $(IMPORTED_TEMPLATES)) -FMT_OFFLINE = tex dvi ps pdf txt -FMT = $(FMT_OFFLINE) html -OUT = $(DISTDIR)/$(OUTPUT) -FMT_OUT = $(patsubst %,$(OUT).%.zip,$(FMT)) -FMT_OFFLINE_OUT = $(patsubst %,$(OUT).%.zip,$(FMT_OFFLINE)) -ALL = $(FMT_OUT) html_install -PRE_HTML = $(patsubst %.tmpl,%,$(wildcard *.html.tmpl)) -LINETMPL=$(wildcard *.linetmpl) -TEXFROMGER=$(patsubst %.ger,%.tex,$(wildcard *.ger)) -TMPL=$(wildcard *.tmpl) -FILEFROMTMPL = $(patsubst %.tmpl,%,$(TMPL)) -#GERFROMLINETMPL=$(patsubst %.linetmpl,%,$(wildcard *.linetmpl)) -PRE_TEX = $(patsubst %.ger,%.tex,\ - $(patsubst %.tmpl,%,$(wildcard *.tex.tmpl *.ger.tmpl) $(LOCAL_IMPORTED_TEMPLATES)) \ - $(GERFROMLINETMPL)) $(TEXFROMGER) -TEXSRC = $(wildcard *.tex) $(FILEFROMTMPL) $(IMAGES) $(LOCAL_SRC) $(PRE_TEX) + +ifeq ($(TEX_TMPL_DIR), "") + TEX_TMPL_DIR = thisisnotadirectory +endif + +# this is what is there already +PRE_FIG_LOCAL = $(wildcard *.fig) +PRE_TEX_LOCAL = $(wildcard *.tex) +PRE_TMPL_LOCAL = $(wildcard *.tmpl *.ger) +PRE_HTML_LOCAL = $(wildcard *.html) +PRE_FIG_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.fig)) +PRE_TEX_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.tex)) +PRE_TMPL_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.tmpl $(dir)/*.ger)) +PRE_HTML_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.html)) + +# this is what should be there +FILES_FROM_TMPL = $(notdir $(patsubst %.ger,%.tex,$(patsubst %.tmpl,%,$(PRE_TMPL_REMOTE) $(PRE_TMPL_LOCAL)))) +EPS_FROM_FIG = $(notdir $(patsubst %.fig,%.eps,$(PRE_FIG_REMOTE) $(PRE_FIG_LOCAL))) +FILES_COPIED = $(notdir $(wildcard $(TEX_TMPL_DIR)/*.html $(TEX_TMPL_DIR)/*.tex)) +GENERATED = $(FILES_FROM_TMPL) $(EPS_FROM_FIG) $(FILES_COPIED) +GENERATED_TEX = $(filter %.tex,$(GENERATED)) +GENERATED_EPS = $(filter %.eps,$(GENERATED)) +GENERATED_HTML = $(filter %.html,$(GENERATED)) + +# all +TEX = $(PRE_TEX_LOCAL) $(GENERATED_TEX) +EPS = $(GENERATED_EPS) +HTML = $(PRE_HTML_LOCAL) $(GENERATED_HTML) + +LATEX_INPUT = $(TEX) $(EPS) +HTML_INPUT = $(HTML) $(IMAGES) + +# this comes in handy DATE := $(shell date +'%b, %d, %Y') TEX_WARN_DONT_EDIT = "\ %+---------------------------------------------------+\n\ @@ -33,27 +44,41 @@ TEX_WARN_DONT_EDIT = "\ %| process! |\n\ %+---------------------------------------------------+\n" WD = `pwd` + +IMAGES = $(patsubst %,$(IMAGEDIR)/%,$(FRONTLOGO_EPS) $(FRONTLOGO_WEB) \ + $(ICON_UP) $(ICON_PREV) $(ICON_NEXT) $(ICON_INDEX) $(ICON_CONTENTS)) \ + +#LOCAL_IMPORTED_TEMPLATES = $(notdir $(IMPORTED_TEMPLATES)) +#FMT_OFFLINE = tex dvi ps pdf txt +#FMT = $(FMT_OFFLINE) html +#OUT = $(DISTDIR)/$(OUTPUT) +#FMT_OUT = $(patsubst %,$(OUT).%.zip,$(FMT)) +#FMT_OFFLINE_OUT = $(patsubst %,$(OUT).%.zip,$(FMT_OFFLINE)) +#ALL = $(FMT_OUT) html_install +#PRE_HTML = $(patsubst %.tmpl,%,$(wildcard *.html.tmpl)) +#LINETMPL=$(wildcard *.linetmpl) +#TEXFROMGER=$(patsubst %.ger,%.tex,$(wildcard *.ger)) +#TMPL=$(wildcard *.tmpl) +#FILEFROMTMPL = $(patsubst %.tmpl,%,$(TMPL)) +#GERFROMLINETMPL=$(patsubst %.linetmpl,%,$(wildcard *.linetmpl)) +#PRE_TEX = $(patsubst %.ger,%.tex,\ +# $(patsubst %.tmpl,%,$(wildcard *.tex.tmpl *.ger.tmpl) $(LOCAL_IMPORTED_TEMPLATES)) \ +# $(GERFROMLINETMPL)) $(TEXFROMGER) NEWDIRS = $(DISTDIR) $(HTMLDIR) $(DVIDIR) -define replace_linenumbers - @echo replacing line numbers in templates - cat $< | awk ' \ - BEGIN { FS=":" } { \ - if ($$0 ~ /SUBST_LINE_NUM/) { \ - start=$$1; patt=$$2; file=$$3; \ - regex=$$4; offset=$$5; rest=$$6; \ - grepcmd="grep -n \042" regex "\042 " file; \ - grepcmd | getline; \ - linenum=$$1; \ - print start linenum rest \ - } else { print $$0 } } \ - ' >> $@ -endef - -define replace_macros - @echo replacing macros in templates +define mangle_tmpl + @echo $< \-\> $@ + @echo -e $(TEX_WARN_DONT_EDIT) > $@ TMPIMAGEDIR="`echo $(IMAGEDIR) | sed -e 's/\//\\\\\//g;'`" ;\ cat $< | sed -e "\ + s/ä/\"a/g; \ + s/Ä/\"A/g; \ + s/ö/\"o/g; \ + s/Ö/\"O/g; \ + s/ü/\"u/g; \ + s/Ü/\"Ü/g; \ + s/ß/\"s/g; \ + " | sed -e "\ s/__DATE__/$(DATE)/g; \ s/__AUTHORS__/$(AUTHORS)/g; \ s/__TITLE__/$(TITLE)/g; \ @@ -81,20 +106,6 @@ define replace_macros ' >> $@ endef -define replace_umlauts - @echo replacing german umlauts with tex-style umlauts - @echo -e $(TEX_WARN_DONT_EDIT) > $@ - cat $< | sed -e "\ - s/ä/\"a/g; \ - s/Ä/\"A/g; \ - s/ö/\"o/g; \ - s/Ö/\"O/g; \ - s/ü/\"u/g; \ - s/Ü/\"Ü/g; \ - s/ß/\"s/g; \ - " >> $@ -endef - all: dirs $(ALL) tex: dirs $(OUT).tex.zip @@ -104,26 +115,28 @@ txt: dirs $(OUT).txt.zip html: dirs $(OUT).html.zip pdf: dirs $(OUT).pdf.zip +# generate from remote rules +%.eps: $(TEX_TMPL_DIR)/%.fig + fig2dev -L eps $< $@ + +%.html: $(TEX_TMPL_DIR)/%.html + cp $< $@ + +%.tex: $(TEX_TMPL_DIR)/%.tex + cp $< $@ + +%: $(TEX_TMPL_DIR)/%.tmpl + $(mangle_tmpl) + +# generate from local rules %.eps: %.fig fig2dev -L eps $< $@ -#%.ger: %.ger.linetmpl -# $(replace_linenumbers) -# %.tex: %.ger - $(replace_umlauts) + $(mangle_tmpl) -%.tex: %.tex.tmpl - $(replace_macros) - -%.ger: %.ger.tmpl - $(replace_macros) - -%.html: %.html.tmpl - $(replace_macros) - -%.tmpl: - cp $(TEX_TMPL_DIR)/$@ . +%: %.tmpl + $(mangle_tmpl) cfgtest.done: test -n "$(OUTPUT)" # OUTPUT @@ -145,6 +158,12 @@ cfgtest.done: test -n "$(VERSION)" # VERSION touch $@ +test: + @echo TEX_TMPL_DIR = $(TEX_TMPL_DIR) + @echo GENERATED = $(GENERATED) + @echo FILES_FROM_TMPL = $(FILES_FROM_TMPL) + @echo EPS_FROM_FIG = $(EPS_FROM_FIG) + cfgtest: cfgtest.done #%.clean: @@ -159,23 +178,21 @@ dirs: dirs.done arch: test $(shell uname -s) = Linux -xdvi: $(TEXSRC) +xdvi: $(LATEX_INPUT) @echo "-- running latex just once ..." - echo $(IMAGES) latex $(MAIN).tex xdvi $(MAIN).dvi -$(OUT).tex.zip: cfgtest $(TEXSRC) +$(OUT).tex.zip: cfgtest $(LATEX_INPUT) @echo "-- creating zipfile with tex source files" - zip $@ $(TEXSRC) 2>/dev/null + zip $@ $(LATEX_INPUT) 2>/dev/null -$(OUTPUT).dvi: $(TEXSRC) +$(OUTPUT).dvi: $(LATEX_INPUT) @echo "-- creating dvi file" - echo $(TEXSRC) latex $(MAIN).tex; latex $(MAIN).tex; latex $(MAIN).tex; cp $(MAIN).dvi $@ -$(OUT).dvi.zip: $(OUTPUT).dvi $(IMAGES) +$(OUT).dvi.zip: $(OUTPUT).dvi zip $@ $^ $(OUTPUT).txt: $(OUTPUT).dvi @@ -185,7 +202,7 @@ $(OUTPUT).txt: $(OUTPUT).dvi $(OUT).txt.zip: $(OUTPUT).txt zip $@ $< -$(HTMLDIR): $(TEXSRC) $(FMT_OFFLINE_OUT) $(PRE_HTML) +$(HTMLDIR): $(LATEX_INPUT) $(HTML_INPUT) test $(MAIN) != index rm -rf $@ mkdir -p $@ @@ -236,8 +253,6 @@ clean: @echo "-- cleaning up ..." rm -rf *.aux *.toc *.dvi *.pdf *.ps *~ *.log *.done *.rep \ *.lol *.bak \ - $(NEWDIRS) $(PRE_TEX) $(PRE_HTML) $(OUTPUT).txt \ - $(LOCAL_IMPORTED_TEMPLATES) \ - $(GERFROMLINETMPL) $(TEXFROMGER) $(EPSFROMFIG) \ - $(FILEFROMTMPL) + $(NEWDIRS) $(OUTPUT).txt \ + $(GENERATED)