Makefile
author fabien
Thu, 09 Feb 2006 11:57:31 -0500
branchecjdr
changeset 50 0c6ed311a7b8
parent 48 125e031074f3
child 61 a6f437984267
permissions -rw-r--r--
[svn] r5796@freebird: fabien | 2006-02-06 19:39:48 -0500 Ajout d'une présentation de la hiérarchie DKF et du pourquoi elle n'intervient pas dans notre modèle.
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
48
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    11
BOOKS=jeuderologie rpgtheory
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    12
TARGETS=$(BOOKS) $(FR_ARTICLES) $(EN_ARTICLES) $(UNPUBLISHED)
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    13
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
    14
SGML_CATALOG_FILES=/etc/sgml/catalog
42
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    15
export SGML_CATALOG_FILES
48
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    16
xml_validate=xmllint --valid --noout $(1)
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    17
xml_post_validate=xmllint --postvalid --xinclude --noout $(1)
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    18
html_validate=$(xml_validate)
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    19
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    20
make_subdir=						\
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    21
	[ -d $(2) ] || mkdir -p $(2) ;			\
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    22
	$(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
    23
		-C $(2) -f $(SRC_DIR)/Makefile $(1)
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    24
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    25
all: $(addsuffix -do,$(TARGETS))
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    26
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    27
jeuderologie.xml: $(addsuffix .xml, $(FR_ARTICLES))
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    28
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    29
rpgtheory.xml: $(addsuffix .xml, $(EN_ARTICLES))
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    30
42
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    31
validate-jeuderologie: $(addsuffix -validate, $(FR_ARTICLES))
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    32
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    33
validate-rpgtheory: $(addsuffix -validate, $(EN_ARTICLES))
58cf3c7d4b1b [svn] r2263@freebird: fabien | 2006-01-27 17:43:45 -0500
fabien
parents: 41
diff changeset
    34
48
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    35
%-post-validate: %.xml
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    36
	$(call xml_post_validate,$<)
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    37
43
9433f5f4ee46 [svn] r2265@freebird: fabien | 2006-01-27 17:55:11 -0500
fabien
parents: 42
diff changeset
    38
%-validate: %.xml
9433f5f4ee46 [svn] r2265@freebird: fabien | 2006-01-27 17:55:11 -0500
fabien
parents: 42
diff changeset
    39
	$(call xml_validate,$<)
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    40
43
9433f5f4ee46 [svn] r2265@freebird: fabien | 2006-01-27 17:55:11 -0500
fabien
parents: 42
diff changeset
    41
%.html-validate: %.html
9433f5f4ee46 [svn] r2265@freebird: fabien | 2006-01-27 17:55:11 -0500
fabien
parents: 42
diff changeset
    42
	$(call html_validate,$<)
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    43
48
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    44
validate: $(addsuffix -validate,$(TARGETS) $(HTML_FILES)) post-validate
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    45
125e031074f3 [svn] r5793@freebird: fabien | 2006-02-06 00:49:59 -0500
fabien
parents: 43
diff changeset
    46
post-validate: $(addsuffix -post-validate,$(BOOKS)) 
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    47
13
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
    48
install: $(addsuffix -do,$(TARGETS)) $(HTML_FILES)
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
    49
	mkdir -p $(INSTALL_DIR)
7ef1648bebae [svn] r2046@freebird: fabien | 2005-12-30 13:41:56 -0500
fabien
parents: 0
diff changeset
    50
	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
    51
	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
    52
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    53
$(addsuffix -do,$(TARGETS)):
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    54
	$(call make_subdir,$(patsubst %-do,%,$@),$(patsubst %-do,%,$@))
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    55
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    56
clean:
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    57
	rm -rf *~ *.fo *.aux *.log *.out
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    58
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    59
purge:
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    60
	rm -rf $(TARGETS)
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    61
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    62
$(TARGETS): 
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    63
	$(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
    64
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    65
%.fo: %.xml $(SRC_DIR)/print.xsl
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    66
	xsltproc --xinclude -o $@ $(SRC_DIR)/print.xsl $< 
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    67
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    68
TEX_OPTIONS=-interaction=errorstopmode -file-line-error-style
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    69
TEXERRORLEVEL=2
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    70
MAX_TEX_RECURSION=4
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    71
%.pdf: %.fo
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    72
# 	-cp -pf prior.aux pprior.aux
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    73
# 	-cp -pf $(basename $<).aux prior.aux
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    74
# 	pdfxmltex $(TEX_OPTIONS) $< || [ $$? -lt $(TEXERRORLEVEL) ]
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    75
# 	if ! cmp $(basename $<).aux prior.aux &&		\
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    76
# 	   ! cmp $(basename $<).aux pprior.aux &&		\
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    77
# 	   expr $(MAKELEVEL) '<' $(MAX_TEX_RECURSION); then	\
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    78
# 		rm -f $@ ;					\
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    79
# 		$(MAKE) -f $(SRC_DIR)/Makefile $@ ;		\
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    80
# 	fi
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    81
# 	rm -f prior.aux pprior.aux
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    82
# 	xmlto pdf $<
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    83
	fop $< $@
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
%.txt: %.html
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    86
	w3m -dump $< > $@
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    87
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    88
%/index.html: %.xml $(SRC_DIR)/chunk.xsl
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    89
	rm -rf $(dir $@)
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    90
	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
    91
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    92
%.html: %.xml $(SRC_DIR)/html.xsl
30
bbd7d782878a [svn] r2187@freebird: fabien | 2006-01-21 01:02:54 -0500
fabien
parents: 23
diff changeset
    93
	xsltproc --xinclude -o $@ $(SRC_DIR)/html.xsl $<
0
9119688b1f02 [svn] r1946@freebird: fabien | 2005-12-26 19:20:33 -0500
fabien
parents:
diff changeset
    94
37
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    95
.PHONY: $(TARGETS) $(addsuffix -do,$(TARGETS))
dba3080acefd [svn] r2222@freebird: fabien | 2006-01-24 02:28:37 -0500
fabien
parents: 30
diff changeset
    96
.PHONY: update clean all install validate