mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 03:53:32 +01:00
tex.mk: Total rewrite of the variables (with the old stuff still in)
This commit is contained in:
parent
698aad2d40
commit
cc0e942050
1 changed files with 95 additions and 80 deletions
175
make/tex.mk
175
make/tex.mk
|
|
@ -3,28 +3,39 @@
|
||||||
# contact@jannet.de
|
# contact@jannet.de
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
FIG = $(wildcard *.fig)
|
|
||||||
EPSFROMFIG = $(patsubst %.fig,%.eps,$(FIG))
|
ifeq ($(TEX_TMPL_DIR), "")
|
||||||
IMAGES = $(patsubst %,$(IMAGEDIR)/%,$(FRONTLOGO_EPS) $(FRONTLOGO_WEB) \
|
TEX_TMPL_DIR = thisisnotadirectory
|
||||||
$(ICON_UP) $(ICON_PREV) $(ICON_NEXT) $(ICON_INDEX) $(ICON_CONTENTS)) \
|
endif
|
||||||
$(EPSFROMFIG)
|
|
||||||
LOCAL_IMPORTED_TEMPLATES = $(notdir $(IMPORTED_TEMPLATES))
|
# this is what is there already
|
||||||
FMT_OFFLINE = tex dvi ps pdf txt
|
PRE_FIG_LOCAL = $(wildcard *.fig)
|
||||||
FMT = $(FMT_OFFLINE) html
|
PRE_TEX_LOCAL = $(wildcard *.tex)
|
||||||
OUT = $(DISTDIR)/$(OUTPUT)
|
PRE_TMPL_LOCAL = $(wildcard *.tmpl *.ger)
|
||||||
FMT_OUT = $(patsubst %,$(OUT).%.zip,$(FMT))
|
PRE_HTML_LOCAL = $(wildcard *.html)
|
||||||
FMT_OFFLINE_OUT = $(patsubst %,$(OUT).%.zip,$(FMT_OFFLINE))
|
PRE_FIG_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.fig))
|
||||||
ALL = $(FMT_OUT) html_install
|
PRE_TEX_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.tex))
|
||||||
PRE_HTML = $(patsubst %.tmpl,%,$(wildcard *.html.tmpl))
|
PRE_TMPL_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.tmpl $(dir)/*.ger))
|
||||||
LINETMPL=$(wildcard *.linetmpl)
|
PRE_HTML_REMOTE = $(foreach dir,$(TEX_TMPL_DIR),$(wildcard $(dir)/*.html))
|
||||||
TEXFROMGER=$(patsubst %.ger,%.tex,$(wildcard *.ger))
|
|
||||||
TMPL=$(wildcard *.tmpl)
|
# this is what should be there
|
||||||
FILEFROMTMPL = $(patsubst %.tmpl,%,$(TMPL))
|
FILES_FROM_TMPL = $(notdir $(patsubst %.ger,%.tex,$(patsubst %.tmpl,%,$(PRE_TMPL_REMOTE) $(PRE_TMPL_LOCAL))))
|
||||||
#GERFROMLINETMPL=$(patsubst %.linetmpl,%,$(wildcard *.linetmpl))
|
EPS_FROM_FIG = $(notdir $(patsubst %.fig,%.eps,$(PRE_FIG_REMOTE) $(PRE_FIG_LOCAL)))
|
||||||
PRE_TEX = $(patsubst %.ger,%.tex,\
|
FILES_COPIED = $(notdir $(wildcard $(TEX_TMPL_DIR)/*.html $(TEX_TMPL_DIR)/*.tex))
|
||||||
$(patsubst %.tmpl,%,$(wildcard *.tex.tmpl *.ger.tmpl) $(LOCAL_IMPORTED_TEMPLATES)) \
|
GENERATED = $(FILES_FROM_TMPL) $(EPS_FROM_FIG) $(FILES_COPIED)
|
||||||
$(GERFROMLINETMPL)) $(TEXFROMGER)
|
GENERATED_TEX = $(filter %.tex,$(GENERATED))
|
||||||
TEXSRC = $(wildcard *.tex) $(FILEFROMTMPL) $(IMAGES) $(LOCAL_SRC) $(PRE_TEX)
|
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')
|
DATE := $(shell date +'%b, %d, %Y')
|
||||||
TEX_WARN_DONT_EDIT = "\
|
TEX_WARN_DONT_EDIT = "\
|
||||||
%+---------------------------------------------------+\n\
|
%+---------------------------------------------------+\n\
|
||||||
|
|
@ -33,27 +44,41 @@ TEX_WARN_DONT_EDIT = "\
|
||||||
%| process! |\n\
|
%| process! |\n\
|
||||||
%+---------------------------------------------------+\n"
|
%+---------------------------------------------------+\n"
|
||||||
WD = `pwd`
|
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)
|
NEWDIRS = $(DISTDIR) $(HTMLDIR) $(DVIDIR)
|
||||||
|
|
||||||
define replace_linenumbers
|
define mangle_tmpl
|
||||||
@echo replacing line numbers in templates
|
@echo $< \-\> $@
|
||||||
cat $< | awk ' \
|
@echo -e $(TEX_WARN_DONT_EDIT) > $@
|
||||||
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
|
|
||||||
TMPIMAGEDIR="`echo $(IMAGEDIR) | sed -e 's/\//\\\\\//g;'`" ;\
|
TMPIMAGEDIR="`echo $(IMAGEDIR) | sed -e 's/\//\\\\\//g;'`" ;\
|
||||||
cat $< | sed -e "\
|
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/__DATE__/$(DATE)/g; \
|
||||||
s/__AUTHORS__/$(AUTHORS)/g; \
|
s/__AUTHORS__/$(AUTHORS)/g; \
|
||||||
s/__TITLE__/$(TITLE)/g; \
|
s/__TITLE__/$(TITLE)/g; \
|
||||||
|
|
@ -81,20 +106,6 @@ define replace_macros
|
||||||
' >> $@
|
' >> $@
|
||||||
endef
|
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)
|
all: dirs $(ALL)
|
||||||
|
|
||||||
tex: dirs $(OUT).tex.zip
|
tex: dirs $(OUT).tex.zip
|
||||||
|
|
@ -104,26 +115,28 @@ txt: dirs $(OUT).txt.zip
|
||||||
html: dirs $(OUT).html.zip
|
html: dirs $(OUT).html.zip
|
||||||
pdf: dirs $(OUT).pdf.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
|
%.eps: %.fig
|
||||||
fig2dev -L eps $< $@
|
fig2dev -L eps $< $@
|
||||||
|
|
||||||
#%.ger: %.ger.linetmpl
|
|
||||||
# $(replace_linenumbers)
|
|
||||||
#
|
|
||||||
%.tex: %.ger
|
%.tex: %.ger
|
||||||
$(replace_umlauts)
|
$(mangle_tmpl)
|
||||||
|
|
||||||
%.tex: %.tex.tmpl
|
%: %.tmpl
|
||||||
$(replace_macros)
|
$(mangle_tmpl)
|
||||||
|
|
||||||
%.ger: %.ger.tmpl
|
|
||||||
$(replace_macros)
|
|
||||||
|
|
||||||
%.html: %.html.tmpl
|
|
||||||
$(replace_macros)
|
|
||||||
|
|
||||||
%.tmpl:
|
|
||||||
cp $(TEX_TMPL_DIR)/$@ .
|
|
||||||
|
|
||||||
cfgtest.done:
|
cfgtest.done:
|
||||||
test -n "$(OUTPUT)" # OUTPUT
|
test -n "$(OUTPUT)" # OUTPUT
|
||||||
|
|
@ -145,6 +158,12 @@ cfgtest.done:
|
||||||
test -n "$(VERSION)" # VERSION
|
test -n "$(VERSION)" # VERSION
|
||||||
touch $@
|
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
|
cfgtest: cfgtest.done
|
||||||
|
|
||||||
#%.clean:
|
#%.clean:
|
||||||
|
|
@ -159,23 +178,21 @@ dirs: dirs.done
|
||||||
arch:
|
arch:
|
||||||
test $(shell uname -s) = Linux
|
test $(shell uname -s) = Linux
|
||||||
|
|
||||||
xdvi: $(TEXSRC)
|
xdvi: $(LATEX_INPUT)
|
||||||
@echo "-- running latex just once ..."
|
@echo "-- running latex just once ..."
|
||||||
echo $(IMAGES)
|
|
||||||
latex $(MAIN).tex
|
latex $(MAIN).tex
|
||||||
xdvi $(MAIN).dvi
|
xdvi $(MAIN).dvi
|
||||||
|
|
||||||
$(OUT).tex.zip: cfgtest $(TEXSRC)
|
$(OUT).tex.zip: cfgtest $(LATEX_INPUT)
|
||||||
@echo "-- creating zipfile with tex source files"
|
@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 "-- creating dvi file"
|
||||||
echo $(TEXSRC)
|
|
||||||
latex $(MAIN).tex; latex $(MAIN).tex; latex $(MAIN).tex;
|
latex $(MAIN).tex; latex $(MAIN).tex; latex $(MAIN).tex;
|
||||||
cp $(MAIN).dvi $@
|
cp $(MAIN).dvi $@
|
||||||
|
|
||||||
$(OUT).dvi.zip: $(OUTPUT).dvi $(IMAGES)
|
$(OUT).dvi.zip: $(OUTPUT).dvi
|
||||||
zip $@ $^
|
zip $@ $^
|
||||||
|
|
||||||
$(OUTPUT).txt: $(OUTPUT).dvi
|
$(OUTPUT).txt: $(OUTPUT).dvi
|
||||||
|
|
@ -185,7 +202,7 @@ $(OUTPUT).txt: $(OUTPUT).dvi
|
||||||
$(OUT).txt.zip: $(OUTPUT).txt
|
$(OUT).txt.zip: $(OUTPUT).txt
|
||||||
zip $@ $<
|
zip $@ $<
|
||||||
|
|
||||||
$(HTMLDIR): $(TEXSRC) $(FMT_OFFLINE_OUT) $(PRE_HTML)
|
$(HTMLDIR): $(LATEX_INPUT) $(HTML_INPUT)
|
||||||
test $(MAIN) != index
|
test $(MAIN) != index
|
||||||
rm -rf $@
|
rm -rf $@
|
||||||
mkdir -p $@
|
mkdir -p $@
|
||||||
|
|
@ -236,8 +253,6 @@ clean:
|
||||||
@echo "-- cleaning up ..."
|
@echo "-- cleaning up ..."
|
||||||
rm -rf *.aux *.toc *.dvi *.pdf *.ps *~ *.log *.done *.rep \
|
rm -rf *.aux *.toc *.dvi *.pdf *.ps *~ *.log *.done *.rep \
|
||||||
*.lol *.bak \
|
*.lol *.bak \
|
||||||
$(NEWDIRS) $(PRE_TEX) $(PRE_HTML) $(OUTPUT).txt \
|
$(NEWDIRS) $(OUTPUT).txt \
|
||||||
$(LOCAL_IMPORTED_TEMPLATES) \
|
$(GENERATED)
|
||||||
$(GERFROMLINETMPL) $(TEXFROMGER) $(EPSFROMFIG) \
|
|
||||||
$(FILEFROMTMPL)
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue