1 # rewritten by Thomas to be more simple and working
6 ### These are all generic; we set all the variables we need
8 # intermediary build path
11 BUILDIMAGESDIR = $(BUILDDIR)/images
14 # right now, we only allow .png and .fig as source
15 # we might add more later if we feel the need
17 # PNG's can be source or built from .fig
18 PNG = $(strip $(PNG_SRC) $(FIG_SRC:.fig=.png))
19 # EPS .ps files can be built from .png or .fig
20 EPS = $(strip $(FIG_SRC:.fig=.ps) $(PNG_SRC:.png=.ps))
21 # PDF .pdf files can be built from .png or .fig
22 PDF = $(strip $(FIG_SRC:.fig=.pdf) $(PNG_SRC:.png=.pdf))
24 # where we expect to find images during building, whether by copying
25 # or by generating them
26 PNG_BUILT = $(foreach file, $(PNG), $(BUILDIMAGESDIR)/$(file))
27 EPS_BUILT = $(foreach file, $(EPS), $(BUILDIMAGESDIR)/$(file))
28 PDF_BUILT = $(foreach file, $(PDF), $(BUILDIMAGESDIR)/$(file))
30 # everything considered source
31 SRC = $(XML) $(PNG_SRC) $(FIG_SRC) $(CSS)
36 ### generate all documentation by default
39 # can we generate HTML ?
48 # can we generate PS ?
57 # can we generate PDF ?
67 @echo "outputting some useful debug information"
71 @echo "Source image files:"
72 @echo "PNG_SRC: '$(PNG_SRC)'"
73 @echo "FIG_SRC: '$(FIG_SRC)'"
74 @echo "All used image files:"
78 @echo "All used image files in their built path:"
79 @echo "PNG_BUILT: '$(PNG_BUILT)'"
80 @echo "EPS_BUILT: '$(EPS_BUILT)'"
81 @echo "PDF_BUILT: '$(PDF_BUILT)'"
82 @echo "End result products:"
83 @echo "HTML_DAT: '$(HTML_DAT)'"
84 @echo "PS_DAT: '$(PS_DAT)'"
85 @echo "PDF_DAT: '$(PDF_DAT)'"
87 # a rule to copy all of the source for docs into $(builddir)/build
88 $(BUILDDIR)/$(MAIN): $(XML) $(CSS)
89 @-mkdir -p $(BUILDDIR)
90 @for a in $(XML); do cp $(srcdir)/$$a $(BUILDDIR); done
91 @for a in $(CSS); do cp $(srcdir)/$$a $(BUILDDIR); done
92 @cp ../version.entities $(BUILDDIR)
94 html/index.html: $(BUILDDIR)/$(MAIN) $(PNG_BUILT) $(FIG_SRC)
96 @echo "*** Generating HTML output ***"
98 @cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
99 @cd $(BUILDDIR) && docbook2html -o ../html -V '%use-id-as-filename%' $(MAIN)
100 @test "x$(CSS)" != "x" && \
101 echo "Copying .css files: $(CSS)" && \
102 cp $(srcdir)/$(CSS) html
103 @test "x$(PNG)" != "x" && \
104 echo "Copying .png images: $(PNG_BUILT)" && \
105 mkdir -p html/images && \
106 cp $(PNG_BUILT) html/images || true
108 $(DOC).ps: $(BUILDDIR)/$(MAIN) $(EPS_BUILT) $(PNG_SRC) $(FIG_SRC)
110 @echo "*** Generating PS output ***"
111 @cp -f $(srcdir)/../image-eps $(BUILDDIR)/image.entities
112 cd $(BUILDDIR) && docbook2ps -o .. $(MAIN)
113 # export LC_PAPER=$(PAPER_LOCALE) && cd $(BUILDDIR) && xmlto ps -o .. $(MAIN)
115 $(DOC).pdf: $(DOC).ps
117 @echo "*** Generating PDF output ***"
120 #$(DOC).pdf: $(MAIN) $(PDF) $(FIG_SRC)
121 # @echo "*** Generating PDF output ***"
122 # @cp -f $(srcdir)/../image-pdf image.entities
123 # @export LC_PAPER=$(PAPER_LOCALE) && xmlto pdf $(MAIN)
127 -$(RM) -r $(BUILDDIR)
135 # copy png from source dir png
136 $(BUILDIMAGESDIR)/%.png: $(srcdir)/%.png
137 @echo "Copying $< to $@"
138 @mkdir -p $(BUILDIMAGESDIR)
141 $(BUILDIMAGESDIR)/%.png: %.fig
142 @echo "Generating $@ from $<"
143 @mkdir -p $(BUILDIMAGESDIR)
146 # make ps(EPS) from fig
147 $(BUILDIMAGESDIR)/%.ps: %.fig
148 @echo "Generating $@ from $<"
149 @mkdir -p $(BUILDIMAGESDIR)
153 $(BUILDIMAGESDIR)/%.pdf: %.fig
154 @echo "Generating $@ from $<"
155 @mkdir -p $(BUILDIMAGESDIR)
159 $(BUILDIMAGESDIR)/%.pdf: %.png
160 @echo "Generating $@ from $<"
161 @mkdir -p $(BUILDIMAGESDIR)
162 @cat $< | pngtopnm | pnmtops -noturn 2> /dev/null | epstopdf --filter --outfile $@ 2> /dev/null
164 # make ps(EPS) from png
165 $(BUILDIMAGESDIR)/%.ps: %.png
166 @echo "Generating $@ from $<"
167 @mkdir -p $(BUILDIMAGESDIR)
168 @cat $< | pngtopnm | pnmtops -noturn > $@ 2> /dev/null
170 # make sure xml validates properly
171 check-local: $(BUILDDIR)/$(MAIN)
172 @cp -f $(srcdir)/../image-png $(BUILDDIR)/image.entities
173 cd $(BUILDDIR) && xmllint -noout -valid $(MAIN)