1 #!/usr/bin/make |
1 #!/usr/bin/make |
2 |
2 |
3 # No final slash here! |
3 # No final slash here! |
4 # It will mess up rsync behavior. |
4 # It will mess up rsync behavior. |
5 TOP=`pwd` |
5 TOP=`pwd` |
|
6 SRC_DIR=`pwd` |
|
7 INSTALL_DIR=$(TOP)/install |
6 FR_ARTICLES=couleurs jjch credo systemes |
8 FR_ARTICLES=couleurs jjch credo systemes |
7 EN_ARTICLES=colors |
9 EN_ARTICLES=colors |
8 UNPUBLISHED=dri-aido jdrdef jdrl resolution |
10 UNPUBLISHED=dri-aido jdrdef jdrl resolution |
9 TARGETS=jeuderologie rpgtheory $(FR_ARTICLES) $(EN_ARTICLES) $(UNPUBLISHED) |
11 TARGETS=jeuderologie rpgtheory $(FR_ARTICLES) $(EN_ARTICLES) $(UNPUBLISHED) |
10 |
12 HTML_FILES=index.en.html index.fr.html |
11 UPDATE_FILES=$(TARGETS) index.en.html index.fr.html |
|
12 SRC_DIR=`pwd` |
|
13 INSTALL_DIR=$(TOP)/install |
|
14 SGML_CATALOG_FILES=/etc/sgml/catalog |
13 SGML_CATALOG_FILES=/etc/sgml/catalog |
15 HTML_FILES=index.en.html index.fr.html |
14 xml_validate=xmllint --xinclude --postvalid --noout $(1) |
|
15 html_validate=true |
16 |
16 |
17 make_subdir= \ |
17 make_subdir= \ |
18 [ -d $(2) ] || mkdir -p $(2) ; \ |
18 [ -d $(2) ] || mkdir -p $(2) ; \ |
19 $(MAKE) SRC_DIR=$(SRC_DIR) VPATH=$(SRC_DIR) \ |
19 $(MAKE) SRC_DIR=$(SRC_DIR) VPATH=$(SRC_DIR) \ |
20 -C $(2) -f $(SRC_DIR)/Makefile $(1) |
20 -C $(2) -f $(SRC_DIR)/Makefile $(1) |
21 |
21 |
22 all: $(addsuffix -do,$(TARGETS)) |
22 all: $(addsuffix -do,$(TARGETS)) |
23 |
23 |
24 jeuderologie.xml: $(addsuffix .xml, $(FR_ARTICLES)) |
24 jeuderologie.xml: $(addsuffix .xml, $(FR_ARTICLES)) |
|
25 |
25 rpgtheory.xml: $(addsuffix .xml, $(EN_ARTICLES)) |
26 rpgtheory.xml: $(addsuffix .xml, $(EN_ARTICLES)) |
|
27 |
|
28 $(addsuffix -validate,$(TARGETS)): |
|
29 $(call xml_validate,$(subst -validate,.xml,$@)) |
|
30 |
|
31 $(addsuffix -validate,$(HTML_FILES)): |
|
32 $(call html_validate,$(subst -validate,,$@)) |
|
33 |
|
34 validate: $(addsuffix -validate,$(TARGETS) $(HTML_FILES)) |
26 |
35 |
27 install: $(addsuffix -do,$(TARGETS)) $(HTML_FILES) |
36 install: $(addsuffix -do,$(TARGETS)) $(HTML_FILES) |
28 mkdir -p $(INSTALL_DIR) |
37 mkdir -p $(INSTALL_DIR) |
29 cp -a $(HTML_FILES) $(TARGETS) $(INSTALL_DIR) |
38 cp -a $(HTML_FILES) $(TARGETS) $(INSTALL_DIR) |
30 ln -sf index.fr.html $(INSTALL_DIR)/index.html |
39 ln -sf index.fr.html $(INSTALL_DIR)/index.html |
69 xsltproc --xinclude -o $(dir $@) $(SRC_DIR)/chunk.xsl $< |
78 xsltproc --xinclude -o $(dir $@) $(SRC_DIR)/chunk.xsl $< |
70 |
79 |
71 %.html: %.xml $(SRC_DIR)/html.xsl |
80 %.html: %.xml $(SRC_DIR)/html.xsl |
72 xsltproc --xinclude -o $@ $(SRC_DIR)/html.xsl $< |
81 xsltproc --xinclude -o $@ $(SRC_DIR)/html.xsl $< |
73 |
82 |
74 .PHONY: $(TARGETS) $(addsuffix -do,$(TARGETS)) update clean all install |
83 .PHONY: $(TARGETS) $(addsuffix -do,$(TARGETS)) |
|
84 .PHONY: update clean all install validate |