cryptocd/documents/Makefile

91 lines
3.2 KiB
Makefile
Raw Normal View History

# our self written documents
2005-12-12 21:47:35 +01:00
LYX_FILES := $(shell find -name *.lyx)
# the tex output of lyx
2005-04-24 14:06:14 +02:00
TEX_FILES := $(patsubst %.lyx,%.tex,$(LYX_FILES))
# output files of lyx that are already processed by mod_html_files.py
2005-04-24 14:06:14 +02:00
HTML_FILES := $(patsubst %.lyx,%.html,$(LYX_FILES))
2005-07-07 11:10:12 +02:00
# menue and footers are added (according to online/offline target)
2005-12-12 21:47:35 +01:00
TARGET_FILES := $(foreach file,$(LYX_FILES),_output/$(basename $(notdir $(file))).html)
2005-07-07 11:10:12 +02:00
# menue and footer files
2005-04-24 02:20:04 +02:00
ASC_FILES := $(wildcard *.asc)
# target: online or offline (will be overriden for online target automatically)
2005-04-24 02:20:04 +02:00
LINE_STATUS = offline
# output parameters for latex2html
LATEX2HTMLPREFIX := -no_auto_link -split 0 -no_navigation -no_subdir -dir _output -info 0 -style cryptocd.css -local_icons -address 0
2005-04-24 02:20:04 +02:00
# virtual targets that have different names than the produced files - they will alway be executed,
# if another target depends on them (they do not look for timestamps)
.PHONY : clean online offline clean-targets install all
2005-04-24 02:20:04 +02:00
# default target (offline)
all: $(TARGET_FILES)
# copy the created files to the destination directory (usually outside of this directory tree)
2005-04-24 14:06:14 +02:00
install: $(TARGET_FILES)
2005-05-13 22:39:10 +02:00
@if [ -z "$(CCD_BUILD_DIR)" ] ; \
then echo "CCD_BUILD_DIR must be defined! (this should be done by the parent Makefile)" >&2 ; \
false ; \
fi
@if [ ! -e "$(CCD_BUILD_DIR)" ] ; \
then echo "CCD_BUILD_DIR ($(CCD_BUILD_DIR)) does not exist!" ; \
2005-05-13 22:39:10 +02:00
false ; \
fi
@cp -r _output/* "$(CCD_BUILD_DIR)/doku"
2005-04-24 02:20:04 +02:00
2005-04-24 14:06:14 +02:00
clean-targets:
-rm $(TARGET_FILES) 2>/dev/null
2005-04-24 02:20:04 +02:00
2005-04-24 15:20:57 +02:00
online: LINE_STATUS=online
offline: LINE_STATUS=offline
# pruefen, ob die Menue-Datei durch eine neuere ersetzt werden muss - ansonsten: ignorieren
menue.inc online offline: menue_$(LINE_STATUS).inc
@if diff -qN menue.inc menue_$(LINE_STATUS).inc >/dev/null ;\
then true ;\
else cp menue_$(LINE_STATUS).inc menue.inc ;\
2005-12-12 21:47:35 +01:00
make $@ ;\
fi
2005-12-12 21:47:35 +01:00
# "make $@" is necessary, as the dependency of HTML_FILES was checked, before
# menue.inc was updated
online offline: $(TARGET_FILES)
2005-04-24 02:20:04 +02:00
# add headers, navigation and footers
2005-04-24 14:06:14 +02:00
$(TARGET_FILES): $(HTML_FILES) $(ASC_FILES)
cat $(shell find -name $(notdir $@) | grep -v "_output") footer.asc >$@
2005-04-24 02:20:04 +02:00
# create tex files from lyx
$(TEX_FILES): menue.inc $(LYX_FILES)
lyx -e latex $*.lyx
2005-04-24 02:20:04 +02:00
2005-04-24 15:20:57 +02:00
2005-04-24 02:20:04 +02:00
# original html-files, as they are created by lyx
2005-04-24 15:20:57 +02:00
$(HTML_FILES): %.html: %.tex
@-[ ! -e "_output" ] && mkdir _output
2005-12-12 21:47:35 +01:00
cp menue.inc $(dir $@)
2005-04-24 14:06:14 +02:00
latex2html $(LATEX2HTMLPREFIX) $*.tex
2005-12-12 21:47:35 +01:00
rm $(dir $@)/menue.inc
2005-04-24 14:06:14 +02:00
# die html-Datei wurde jetzt im _output-Verzeichnis erstellt (inklusive Bilder)
2005-04-24 15:20:57 +02:00
-rm _output/WARNINGS $*-labels.pl $*-internals.pl $*.log 2>/dev/null
2005-12-12 21:47:35 +01:00
-rm _output/$(dir $@).css 2>/dev/null
2005-04-24 14:06:14 +02:00
-rm _output/images.aux _output/images.log _output/images.out _output/images.pl _output/images.text _output/img?.old _output/labels.pl _output/missfont.log _output/images.tex 2>/dev/null
2005-12-12 21:47:35 +01:00
mv _output/$(notdir $(basename $@)).html $@
python mod_html_files.py $@
2005-04-24 02:20:04 +02:00
clean:
-rm $(TEX_FILES) 2>/dev/null
-rm $(HTML_FILES) 2>/dev/null
2005-04-24 15:20:57 +02:00
-rm -r _output 2>/dev/null
2005-12-12 21:47:35 +01:00
# -rm $(foreach dir,$(DOCUMENT_NAMES),$(dir)/menue.inc) 2>/dev/null
# -rm $(foreach dir,$(DOCUMENT_NAMES),$(dir)/WARNINGS) 2>/dev/null
# -rm $(foreach dir,$(DOCUMENT_NAMES),$(dir)/$(dir).emergency) 2>/dev/null
-rm menue.inc
2005-04-24 02:20:04 +02:00