From e64b8dc228079b9a1a1aa9c8e6eed6b56cf9a5ff Mon Sep 17 00:00:00 2001 From: phil Date: Thu, 27 Jul 2006 13:23:04 +0000 Subject: [PATCH] * Makefile und footer gepacht --- documents/Makefile | 83 +++++++++++++++++++++++++++++--------------- documents/footer.asc | 2 +- 2 files changed, 56 insertions(+), 29 deletions(-) diff --git a/documents/Makefile b/documents/Makefile index c8d7315..09fe498 100644 --- a/documents/Makefile +++ b/documents/Makefile @@ -3,13 +3,15 @@ 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) +EXPORT_DIRS := $(shell for a in $(LYX_FILES); do echo -n "$$a" | sed "s%/\([^/]*\).lyx%/export-%"; echo "$$(basename $${a%.lyx})" ; done) # png files (get converted to eps) PNG_FILES := $(shell find -name *.png) # converted eps files EPS_FILES := $(patsubst %.png,%.eps,$(PNG_FILES)) +# menue and footer files +INC_FILES := $(wildcard *.inc) +# the tex output of include files +INC_TEX_FILES := $(patsubst %.inc,%.tex,$(INC_FILES)) # look for lyx executable LYX_BIN = $(shell which lyx lyx-qt lyx-xform | head -1) @@ -22,11 +24,12 @@ LATEX2HTML_OPTS := -no_auto_link -split 0 -no_navigation -no_subdir -info 0 -sty # if another target depends on them (they do not look for timestamps) .PHONY : clean clean-targets install all -# default target (offline) -all: $(HTML_FILES) +# default target +all: $(EXPORT_DIRS) # copy the created files to the destination directory (usually outside of this directory tree) -install: $(HTML_FILES) +install: $(EXPORT_DIRS) + echo $(EXPORT_DIRS) @if [ -z "$(CCD_BUILD_DIR)" ] ; \ then echo "CCD_BUILD_DIR must be defined! (this should be done by the parent Makefile)" >&2 ; \ false ; \ @@ -35,46 +38,70 @@ install: $(HTML_FILES) then echo "CCD_BUILD_DIR ($(CCD_BUILD_DIR)) does not exist!" ; \ false ; \ fi - mkdir -p $(CCD_BUILD_DIR)/doku + mkdir -p "$(CCD_BUILD_DIR)/doku/macos" + mkdir -p "$(CCD_BUILD_DIR)/doku/linux" + mkdir -p "$(CCD_BUILD_DIR)/doku/windows" + @# copy os-independent stuff + for a in $(EXPORT_DIRS) ; \ + do if echo "$$(dirname $$a)" | grep -q "/common/" ; \ + then DIRNAME_MAC="$(CCD_BUILD_DIR)/doku/macos/$$(basename $$(dirname $$a))" ; \ + DIRNAME_LIN="$(CCD_BUILD_DIR)/doku/linux/$$(basename $$(dirname $$a))" ; \ + DIRNAME_WIN="$(CCD_BUILD_DIR)/doku/windows/$$(basename $$(dirname $$a))" ; \ + mkdir -p "$$DIRNAME_MAC" "$$DIRNAME_LIN" "$$DIRNAME_WIN" ; \ + cp -r "$$a/"* "$$DIRNAME_MAC" ; \ + cp -r "$$a/"* "$$DIRNAME_LIN" ; \ + cp -r "$$a/"* "$$DIRNAME_WIN" ; \ + fi ; \ + done @# copy os-specific stuff - cp -r macos linux windows $(CCD_BUILD_DIR)/doku + for a in $(EXPORT_DIRS) ; \ + do if echo "$$(dirname $$a)" | grep -q "/common/" ; \ + then true ; \ + else mkdir -p "$(CCD_BUILD_DIR)/doku/$$(dirname $$a)" ; \ + cp -r "$$a/"* "$(CCD_BUILD_DIR)/doku/$$(dirname $$a)" ; \ + fi ; \ + done @# 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 + #cp -r common $(CCD_BUILD_DIR)/doku/macos + #cp -r common $(CCD_BUILD_DIR)/doku/linux + #cp -r common $(CCD_BUILD_DIR)/doku/windows + @# copy os-specific stuff + #cp -r macos/* $(CCD_BUILD_DIR)/doku/macos + #cp -r linux/* $(CCD_BUILD_DIR)/doku/linux + #cp -r windows/* $(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 "{}" \; + #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 + -rm -r $(EXPORT_DIRS) 2>/dev/null # create tex files from lyx -$(TEX_FILES): $(INC_FILES) $(LYX_FILES) +$(TEX_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 +$(EXPORT_DIRS): $(TEX_FILES) $(INC_FILES) footer.asc + -test -d "$@" && rm -rf "$@" + mkdir -p "$@" + latex2html $(LATEX2HTML_OPTS) -dir "$@" $(dir $@)/$(patsubst export-%,%.tex,$(notdir $@)) @# 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 $@ + -#rm $(dir $@)WARNINGS $(dir $@)labels.pl $(dir $@)internals.pl $*.log 2>/dev/null + -rm $@/$(patsubst export-%,%.css,$(notdir $@)) 2>/dev/null + -rm $@/images.aux $@/images.log $@/images.out $@/images.pl $@/images.tex $@/missfont.log $@/WARNINGS $@/labels.pl 2>/dev/null + python mod_html_files.py $@/$(patsubst export-%,%.html,$(notdir $@)) @# add footer - cat footer.asc >>$@ + cat footer.asc >>$@/$(patsubst export-%,%.html,$(notdir $@)) @# replace unix-like linebreaks with their DOS counterparts - unix2dos $@ + unix2dos $@/$(patsubst export-%,%.html,$(notdir $@)) -clean: +clean: clean-targets -rm $(TEX_FILES) 2>/dev/null - -rm $(HTML_FILES) 2>/dev/null + -rm $(INC_TEX_FILES) 2>/dev/null -rm $(EPS_FILES) 2>/dev/null diff --git a/documents/footer.asc b/documents/footer.asc index c6491ec..6aba0ba 100644 --- a/documents/footer.asc +++ b/documents/footer.asc @@ -5,7 +5,7 @@
- Creative Commons + Creative Commons