Makefile
author fabien
Thu, 14 Feb 2008 15:08:35 -0500
branchcda
changeset 13 a962b6818fd2
parent 9 af2604ead11f
child 18 9765d57d1f54
permissions -rw-r--r--
[svn] Cleanup et version vierge (sans champs ni formule).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     1
#/usr/bin/make
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     2
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     3
targets=$(addprefix $(1), .html .pdf .txt /index.html)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     4
output=$(addprefix $(1), .html .pdf .txt) $(1)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     5
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     6
TOP=`pwd`
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     7
INSTALL_DIR=$(TOP)/install
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     8
SRCS=cda.xml
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
     9
FOP=fop
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    10
NWALSH_XSL_DIR=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    11
OO_PDF_OUTPUT_DIR=$(HOME)/pdf
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    12
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    13
PDF_OUTPUT=cda-perso.pdf cda-perso-alt.pdf presentation.pdf
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    14
OUTPUT=$(foreach target,$(basename $(SRCS)),$(call output,$(target))) \
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    15
	$(PDF_OUTPUT)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    16
UPLOAD=$(OUTPUT) cda-perso.sxw cda-perso-alt.sxw presentation.sxi index.fr.html blason.png
6
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    17
xml_validate=xmllint --xinclude --noout $(1)
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    18
html_validate=$(call xml_validate,$(1))
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    19
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    20
all: $(basename $(SRCS)) $(PDF_OUTPUT)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    21
6
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    22
# Should I need to validate other file? Can I?
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    23
validate: $(addsuffix -validate, $(SRCS) index.fr.html)
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    24
6
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    25
%.xml-validate: %.xml
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    26
	$(call xml_validate,$<)
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    27
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    28
%.html-validate: %.html
70f9aa9d00c6 [svn] r2264@freebird: fabien | 2006-01-27 17:52:18 -0500
fabien
parents: 5
diff changeset
    29
	$(call html_validate,$<)
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    30
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    31
cda: $(call targets,cda)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    32
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    33
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    34
# title.xsl: title.xml
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    35
#	xsltproc -o $@ $(NWALSH_XSL_DIR)/template/titlepage.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    36
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    37
%.fo: %.xml print.xsl titlepage.xsl common.xsl
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    38
	xsltproc -o $@ print.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    39
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    40
%.pdf: %.fo
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    41
#	xsltproc -o $@.tmp.fo strip-attributes.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    42
#	xmlto pdf -o $(dir $@) $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    43
	fop $< $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    44
#	rm $@.tmp.fo
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    45
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    46
%.pdf: %.sxw
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    47
	xvfb-run -a oowriter2 -pt PDF $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    48
	mv $(OO_PDF_OUTPUT_DIR)/$@ $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    49
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    50
%.pdf: %.sxi
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    51
	xvfb-run -a ooimpress2 -pt PDF $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    52
	mv $(OO_PDF_OUTPUT_DIR)/$@ $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    53
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    54
%.html: %.xml html.xsl common.xsl
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    55
	xsltproc --xinclude -o $@ html.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    56
#	recode u8..l1 $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    57
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    58
%/index.html: %.xml chunk.xsl common.xsl
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    59
	rm -rf $(dir $@)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    60
	mkdir -p $(dir $@)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    61
	xsltproc --xinclude -o $(dir $@) chunk.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    62
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    63
%.txt: %.html
9
af2604ead11f [svn] r14630@freebird: fabien | 2006-03-02 15:50:37 -0500
fabien
parents: 8
diff changeset
    64
	w3m -dump $< > $@
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    65
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    66
install: $(UPLOAD)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    67
	-mkdir -p $(INSTALL_DIR)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    68
	cp -a $^ $(INSTALL_DIR)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    69
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    70
clean:
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    71
	rm -f *~ *.fo
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    72
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    73
purge: clean
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    74
	rm -rf $(OUTPUT)
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    75
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    76
.PHONY: clean install purge validate all