# our self written documents LYX_FILES := $(shell find -name *.lyx) # the tex output of lyx TEX_FILES := $(patsubst %.lyx,%.tex,$(LYX_FILES)) # output files of lyx that are already processed by mod_html_files.py HTML_FILES := $(patsubst %.lyx,%.html,$(LYX_FILES)) # menue and footers are added (according to online/offline target) TARGET_FILES := $(foreach file,$(LYX_FILES),_output/$(basename $(notdir $(file))).html) # menue and footer files ASC_FILES := $(wildcard *.asc) # target: online or offline (will be overriden for online target automatically) 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 # 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 # default target (offline) all: $(TARGET_FILES) # copy the created files to the destination directory (usually outside of this directory tree) install: $(TARGET_FILES) @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!" ; \ false ; \ fi @cp -r _output/* "$(CCD_BUILD_DIR)/doku" clean-targets: -rm $(TARGET_FILES) 2>/dev/null 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 ;\ make $@ ;\ fi # "make $@" is necessary, as the dependency of HTML_FILES was checked, before # menue.inc was updated online offline: $(TARGET_FILES) # add headers, navigation and footers $(TARGET_FILES): $(HTML_FILES) $(ASC_FILES) cat $(shell find -name $(notdir $@)) footer.asc >$@ # create tex files from lyx $(TEX_FILES): menue.inc $(LYX_FILES) lyx-qt -e latex $*.lyx # original html-files, as they are created by lyx $(HTML_FILES): %.html: %.tex @-[ ! -e "_output" ] && mkdir _output cp menue.inc $(dir $@) latex2html $(LATEX2HTMLPREFIX) $*.tex rm $(dir $@)/menue.inc # die html-Datei wurde jetzt im _output-Verzeichnis erstellt (inklusive Bilder) -rm _output/WARNINGS $*-labels.pl $*-internals.pl $*.log 2>/dev/null -rm _output/$(dir $@).css 2>/dev/null -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 mv _output/$(notdir $(basename $@)).html $@ python mod_html_files.py $@ clean: -rm $(TEX_FILES) 2>/dev/null -rm $(HTML_FILES) 2>/dev/null -rm -r _output 2>/dev/null # -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