Makefile
author fabien
Thu, 26 Jan 2006 16:51:15 -0500
branchcda
changeset 4 99d0c02f5ee4
parent 3 dca5a75d3c0e
child 5 8f149c3924cf
permissions -rw-r--r--
[svn] r2239@freebird: fabien | 2006-01-25 00:08:27 -0500 Add good validate target.
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
4
99d0c02f5ee4 [svn] r2239@freebird: fabien | 2006-01-25 00:08:27 -0500
fabien
parents: 3
diff changeset
    17
xml_validate=xmllint --xinclude $(1) |			\
99d0c02f5ee4 [svn] r2239@freebird: fabien | 2006-01-25 00:08:27 -0500
fabien
parents: 3
diff changeset
    18
	sed -e 's/\(xmlns:xi\|xml:base\)="[^"]*"//g' |	\
99d0c02f5ee4 [svn] r2239@freebird: fabien | 2006-01-25 00:08:27 -0500
fabien
parents: 3
diff changeset
    19
	xmllint --valid --noout - 2>&1 | sed 's/^-:/$(1):/'
99d0c02f5ee4 [svn] r2239@freebird: fabien | 2006-01-25 00:08:27 -0500
fabien
parents: 3
diff changeset
    20
html_validate=true
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    21
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    22
all: $(basename $(SRCS)) $(PDF_OUTPUT)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    23
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    24
validate: cda-validate
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    25
# need to validate html file also.
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    26
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    27
cda-validate:
4
99d0c02f5ee4 [svn] r2239@freebird: fabien | 2006-01-25 00:08:27 -0500
fabien
parents: 3
diff changeset
    28
	$(call xml_validate,cda.xml)
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    29
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    30
cda: $(call targets,cda)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    31
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    32
0
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    33
# title.xsl: title.xml
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    34
#	xsltproc -o $@ $(NWALSH_XSL_DIR)/template/titlepage.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    35
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    36
%.fo: %.xml print.xsl titlepage.xsl common.xsl
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    37
	xsltproc -o $@ print.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    38
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    39
%.pdf: %.fo
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    40
#	xsltproc -o $@.tmp.fo strip-attributes.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    41
#	xmlto pdf -o $(dir $@) $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    42
	fop $< $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    43
#	rm $@.tmp.fo
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    44
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    45
%.pdf: %.sxw
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    46
	xvfb-run -a oowriter2 -pt PDF $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    47
	mv $(OO_PDF_OUTPUT_DIR)/$@ $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    48
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    49
%.pdf: %.sxi
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    50
	xvfb-run -a ooimpress2 -pt PDF $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    51
	mv $(OO_PDF_OUTPUT_DIR)/$@ $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    52
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    53
%.html: %.xml html.xsl common.xsl
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    54
	xsltproc --xinclude -o $@ html.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    55
#	recode u8..l1 $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    56
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    57
%/index.html: %.xml chunk.xsl common.xsl
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    58
	rm -rf $(dir $@)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    59
	mkdir -p $(dir $@)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    60
	xsltproc --xinclude -o $(dir $@) chunk.xsl $<
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    61
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    62
%.txt: %.html
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    63
	w3m -dump $< > $@
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    64
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    65
install: $(UPLOAD)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    66
	-mkdir -p $(INSTALL_DIR)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    67
	cp -a $^ $(INSTALL_DIR)
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    68
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    69
clean:
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    70
	rm -f *~ *.fo
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    71
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    72
purge: clean
ff2810600648 [svn] r2212@freebird: fabien | 2006-01-23 13:21:15 -0500
fabien
parents:
diff changeset
    73
	rm -rf $(OUTPUT)
3
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    74
dca5a75d3c0e [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 0
diff changeset
    75
.PHONY: clean install purge validate all