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
|
||||
# $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)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue