Makefile
branchecjdr
changeset 13 7ef1648bebae
parent 0 9119688b1f02
child 14 acb2e646be22
equal deleted inserted replaced
12:1ff8e9fa5cbe 13:7ef1648bebae
     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 TARGETS=couleurs colors jjch credo
     6 TARGETS=couleurs colors jjch credo
     6 UPDATE_FILES=$(TARGETS) index.en.html index.fr.html
     7 UPDATE_FILES=$(TARGETS) index.en.html index.fr.html
     7 SSH_HOST=o
       
     8 SRC_DIR=`pwd`
     8 SRC_DIR=`pwd`
     9 REMOTE_DIR=/var/www/harmonies/articles
     9 INSTALL_DIR=$(TOP)/install
    10 SGML_CATALOG_FILES=/etc/sgml/catalog
    10 SGML_CATALOG_FILES=/etc/sgml/catalog
       
    11 HTML_FILES=index.en.html index.fr.html
    11 
    12 
    12 make_subdir=\
    13 make_subdir=\
    13 	[ -d $(2) ] || mkdir -p $(2) ; \
    14 	[ -d $(2) ] || mkdir -p $(2) ; \
    14 	$(MAKE) SRC_DIR=$(SRC_DIR) VPATH=$(SRC_DIR) \
    15 	$(MAKE) SRC_DIR=$(SRC_DIR) VPATH=$(SRC_DIR) \
    15 		-C $(2) -f $(SRC_DIR)/Makefile $(1)
    16 		-C $(2) -f $(SRC_DIR)/Makefile $(1)
    16 
    17 
    17 all: $(addsuffix -do,$(TARGETS))
    18 all: $(addsuffix -do,$(TARGETS))
       
    19 
       
    20 install: $(addsuffix -do,$(TARGETS)) $(HTML_FILES)
       
    21 	mkdir -p $(INSTALL_DIR)
       
    22 	cp -a $(HTML_FILES) $(TARGETS) $(INSTALL_DIR)
       
    23 	ln -s index.fr.html $(INSTALL_DIR)/index.html
    18 
    24 
    19 $(addsuffix -do,$(TARGETS)):
    25 $(addsuffix -do,$(TARGETS)):
    20 	$(call make_subdir,$(patsubst %-do,%,$@),$(patsubst %-do,%,$@))
    26 	$(call make_subdir,$(patsubst %-do,%,$@),$(patsubst %-do,%,$@))
    21 
    27 
    22 clean:
    28 clean:
    56 	xsltproc -o $(dir $@) $(SRC_DIR)/chunk.xsl $<
    62 	xsltproc -o $(dir $@) $(SRC_DIR)/chunk.xsl $<
    57 
    63 
    58 %.html: %.xml $(SRC_DIR)/html.xsl
    64 %.html: %.xml $(SRC_DIR)/html.xsl
    59 	xsltproc -o $@ $(SRC_DIR)/html.xsl $<
    65 	xsltproc -o $@ $(SRC_DIR)/html.xsl $<
    60 
    66 
    61 update: all
    67 .PHONY: $(TARGETS) $(addsuffix -do,$(TARGETS)) update clean all install
    62 	rsync -az --delete $(UPDATE_FILES) $(SSH_HOST):$(REMOTE_DIR)
       
    63 	ssh $(SSH_HOST) chmod -R a+rX $(REMOTE_DIR)
       
    64 
       
    65 .PHONY: $(TARGETS) $(addsuffix -do,$(TARGETS)) update clean all