Makefile
branchecjdr
changeset 37 dba3080acefd
parent 30 bbd7d782878a
child 40 a073c4449384
equal deleted inserted replaced
36:54f63240b921 37:dba3080acefd
     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