# 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 footer files INC_FILES := $(wildcard *.inc) # png files (get converted to eps) PNG_FILES := $(shell find -name *.png) # converted eps files EPS_FILES := $(patsubst %.png,%.eps,$(PNG_FILES)) # look for lyx executable LYX_BIN = $(shell which lyx lyx-qt lyx-xform | head -1) # output parameters for latex2html LATEX2HTML_OPTS := -no_auto_link -split 0 -no_navigation -no_subdir -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 clean-targets install all # default target (offline) all: $(HTML_FILES) # copy the created files to the destination directory (usually outside of this directory tree) install: $(HTML_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 mkdir -p $(CCD_BUILD_DIR)/doku @# copy os-specific stuff cp -r macos linux windows $(CCD_BUILD_DIR)/doku @# copy general documents cp -rf common/* $(CCD_BUILD_DIR)/doku/macos cp -rf common/* $(CCD_BUILD_DIR)/doku/linux cp -rf common/* $(CCD_BUILD_DIR)/doku/windows @# remove unnecessary files (eps, lyx, tex) find $(CCD_BUILD_DIR)/doku -name \*.tex -exec rm "{}" \; find $(CCD_BUILD_DIR)/doku -name \*.lyx -exec rm "{}" \; find $(CCD_BUILD_DIR)/doku -name \*.eps -exec rm "{}" \; clean-targets: -rm $(HTML_FILES) 2>/dev/null # create tex files from lyx $(TEX_FILES): $(INC_FILES) $(LYX_FILES) $(LYX_BIN) -e latex $*.lyx # original html-files, as they are created by lyx $(HTML_FILES): %.html: %.tex $(LYX_FILES) $(INC_FILES) footer.asc cp $(INC_FILES) $(dir $@) latex2html $(LATEX2HTML_OPTS) $*.tex -rm $(dir $@)*.inc 2>/dev/null @# die html-Datei wurde jetzt erstellt (inklusive Bilder) -rm $(dir $@)WARNINGS $(dir $@)labels.pl $(dir $@)internals.pl $*.log 2>/dev/null -rm $*.css 2>/dev/null -rm $(dir $@)images.aux $(dir $@)images.log $(dir $@)images.out $(dir $@)images.pl $(dir $@)images.text $(dir $@)img?.old $(dir $@)missfont.log $(dir $@)images.tex 2>/dev/null python mod_html_files.py $@ @# add footer cat footer.asc >>$@ @# replace unix-like linebreaks with their DOS counterparts unix2dos $@ clean: -rm $(TEX_FILES) 2>/dev/null -rm $(HTML_FILES) 2>/dev/null -rm $(EPS_FILES) 2>/dev/null