Makefile
author fabien
Fri, 03 Feb 2006 16:27:40 -0500
branchecjdr
changeset 42 58cf3c7d4b1b
parent 41 1eccaaededbe
child 43 9433f5f4ee46
permissions -rw-r--r--
[svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500 Validate everything now. HTML is now XHTML.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
     1
#!/usr/bin/make
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
     2
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
     3
# No final slash here!
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
     4
# It will mess up rsync behavior.
13
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
     5
TOP=`pwd`
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
     6
SRC_DIR=`pwd`
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
     7
INSTALL_DIR=$(TOP)/install
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
     8
FR_ARTICLES=couleurs jjch credo systemes
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
     9
EN_ARTICLES=colors
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    10
UNPUBLISHED=dri-aido jdrdef jdrl resolution
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    11
TARGETS=jeuderologie rpgtheory $(FR_ARTICLES) $(EN_ARTICLES) $(UNPUBLISHED)
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    12
HTML_FILES=index.en.html index.fr.html
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    13
SGML_CATALOG_FILES=/etc/sgml/catalog
42
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    14
export SGML_CATALOG_FILES
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    15
xml_validate=xmllint --xinclude --valid --noout $(1)
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    16
html_validate=xmllint --valid --noout $(1)
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    17
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    18
make_subdir=						\
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    19
	[ -d $(2) ] || mkdir -p $(2) ;			\
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    20
	$(MAKE) SRC_DIR=$(SRC_DIR) VPATH=$(SRC_DIR)	\
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    21
		-C $(2) -f $(SRC_DIR)/Makefile $(1)
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    22
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    23
all: $(addsuffix -do,$(TARGETS))
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    24
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    25
jeuderologie.xml: $(addsuffix .xml, $(FR_ARTICLES))
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    26
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    27
rpgtheory.xml: $(addsuffix .xml, $(EN_ARTICLES))
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    28
42
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    29
validate-jeuderologie: $(addsuffix -validate, $(FR_ARTICLES))
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    30
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    31
validate-rpgtheory: $(addsuffix -validate, $(EN_ARTICLES))
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    32
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    33
$(addsuffix -validate,$(TARGETS)):
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    34
	$(call xml_validate,$(subst -validate,.xml,$@))
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    35
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    36
$(addsuffix -validate,$(HTML_FILES)):
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    37
	$(call html_validate,$(subst -validate,,$@))
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    38
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    39
validate: $(addsuffix -validate,$(TARGETS) $(HTML_FILES))
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    40
13
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
    41
install: $(addsuffix -do,$(TARGETS)) $(HTML_FILES)
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
    42
	mkdir -p $(INSTALL_DIR)
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
    43
	cp -a $(HTML_FILES) $(TARGETS) $(INSTALL_DIR)
14
acb2e646be22 [svn] r2049@freebird: fabien | 2005-12-30 16:41:51 -0500
fabien
parents: 13
diff changeset
    44
	ln -sf index.fr.html $(INSTALL_DIR)/index.html
13
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
    45
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    46
$(addsuffix -do,$(TARGETS)):
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    47
	$(call make_subdir,$(patsubst %-do,%,$@),$(patsubst %-do,%,$@))
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    48
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    49
clean:
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    50
	rm -rf *~ *.fo *.aux *.log *.out
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    51
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    52
purge:
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    53
	rm -rf $(TARGETS)
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    54
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    55
$(TARGETS): 
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    56
	$(MAKE) -f $(SRC_DIR)/Makefile $@.pdf $@.txt $@/index.html $@.html
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    57
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    58
%.fo: %.xml $(SRC_DIR)/print.xsl
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    59
	xsltproc --xinclude -o $@ $(SRC_DIR)/print.xsl $< 
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    60
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    61
TEX_OPTIONS=-interaction=errorstopmode -file-line-error-style
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    62
TEXERRORLEVEL=2
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    63
MAX_TEX_RECURSION=4
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    64
%.pdf: %.fo
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    65
# 	-cp -pf prior.aux pprior.aux
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    66
# 	-cp -pf $(basename $<).aux prior.aux
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    67
# 	pdfxmltex $(TEX_OPTIONS) $< || [ $$? -lt $(TEXERRORLEVEL) ]
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    68
# 	if ! cmp $(basename $<).aux prior.aux &&		\
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    69
# 	   ! cmp $(basename $<).aux pprior.aux &&		\
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    70
# 	   expr $(MAKELEVEL) '<' $(MAX_TEX_RECURSION); then	\
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    71
# 		rm -f $@ ;					\
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    72
# 		$(MAKE) -f $(SRC_DIR)/Makefile $@ ;		\
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    73
# 	fi
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    74
# 	rm -f prior.aux pprior.aux
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    75
# 	xmlto pdf $<
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    76
	fop $< $@
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    77
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    78
%.txt: %.html
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    79
	w3m -dump $< > $@
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    80
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    81
%/index.html: %.xml $(SRC_DIR)/chunk.xsl
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    82
	rm -rf $(dir $@)
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    83
	xsltproc --xinclude -o $(dir $@) $(SRC_DIR)/chunk.xsl $<
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    84
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    85
%.html: %.xml $(SRC_DIR)/html.xsl
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    86
	xsltproc --xinclude -o $@ $(SRC_DIR)/html.xsl $<
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    87
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    88
.PHONY: $(TARGETS) $(addsuffix -do,$(TARGETS))
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    89
.PHONY: update clean all install validate