Makefile
brancharpeges
changeset 1 c072d78b7ac2
parent 0 1397c2bfefa2
child 2 976a1b8d4706
equal deleted inserted replaced
0:1397c2bfefa2 1:c072d78b7ac2
     1 #!/usr/bin/make
     1 #!/usr/bin/make
     2 
     2 
     3 MAKE_RCS_VERSION="$Revision: 1841 $ $Name$"
     3 MAKE_RCS_VERSION="$Revision: 1883 $ $Name$"
     4 
     4 
     5 TOP=$(shell pwd)
     5 TOP=$(shell pwd)
     6 
     6 RULES=$(TOP)/utils/Makefile.rules
     7 PACKAGE=arpeges
     7 PACKAGE=arpeges
     8 INSTALL_DIR=install
       
     9 PROFCOND=full
     8 PROFCOND=full
    10 
     9 
    11 ifdef SHORT_VERSION
    10 ifeq ($(SHORT_VERSION),1)
    12 VALID_OPTIONS=-iSHORT_VERSION
    11 VALID_OPTIONS=-iSHORT_VERSION
    13 JADEFLAGS=-iSHORT_VERSION -V $(PACKAGE)-short-version
       
    14 NAME_SUFFIX=-basic
    12 NAME_SUFFIX=-basic
    15 # FOP=fop
    13 # FOP=fop
    16 else
    14 else
    17 NAME_SUFFIX=
    15 NAME_SUFFIX=
    18 endif
    16 endif
    19 
    17 
    20 HTML_OUTPUTDIR=$(PACKAGE)$(NAME_SUFFIX)
       
    21 XML_EXT=sgml
    18 XML_EXT=sgml
    22 SGML_CATALOG_FILES=$(shell pwd)/catalog
    19 SGML_CATALOG_FILES=$(shell pwd)/catalog
    23 
    20 
    24 DTD_FILES=struct.dtd
    21 DTD_FILES=struct.dtd
    25 SGML_MAIN_FILE=$(PACKAGE)$(NAME_SUFFIX).sgml
       
    26 SGML_FILES=arpeges-main.sgml
    22 SGML_FILES=arpeges-main.sgml
    27 ifdef SHORT_VERSION
    23 ifeq ($(SHORT_VERSION),1)
    28 	SGML_FILES+=\
    24 	SGML_FILES+=\
    29 	license_basic.sgml\
    25 	license_basic.sgml\
    30 	intro_allegee.sgml\
    26 	intro_allegee.sgml\
    31 	perso_basic.sgml\
    27 	perso_basic.sgml\
    32 	action_basic.sgml
    28 	action_basic.sgml
    85 	balistique.sgml\
    81 	balistique.sgml\
    86 	rafale.sgml\
    82 	rafale.sgml\
    87 	esquive.sgml\
    83 	esquive.sgml\
    88 	licharm.sgml\
    84 	licharm.sgml\
    89 	licfdlen.sgml\
    85 	licfdlen.sgml\
    90 	licfdlfr.sgml
    86 	licfdlfr.
    91 
    87 
    92 all: a4 letter
    88 AIDES_TARGETS=$(addprefix perso,.pdf .svg) \
       
    89 	$(addprefix create,.pdf)
       
    90 AIDES_SRC=perso.sk create.fig
    93 
    91 
    94 install:
    92 all: aides
    95 	$(MAKE) all
    93 	for short in 0 1 ; do \
       
    94 		make TOP=$(TOP) RULES=$(RULES) \
       
    95 		SHORT_VERSION=$$short rules ; \
       
    96 	done
    96 
    97 
    97 a4:
    98 rules: html
    98 	$(MAKE) PAPERCONF=a4 normal short aides
    99 	for paper in $(PAPER_TYPE) ; do \
       
   100 		make TOP=$(TOP) RULES=$(RULES) \
       
   101 		PAPERCONF=$$paper SHORT_VERSION=$(SHORT_VERSION) paper ; \
       
   102 	done
    99 
   103 
   100 letter:
   104 paper: $(PAPER_TARGETS)
   101 	$(MAKE) PAPERCONF=letter normal short aides
       
   102 
   105 
   103 validate:
   106 html: $(HTML_TARGETS)
   104 ifdef SHORT_VERSION
       
   105 	$(error "Please, undefined SHORT_VERSION before running this target")
       
   106 else
       
   107 	$(MAKE) valid
       
   108 	$(MAKE) SHORT_VERSION=1 valid
       
   109 endif
       
   110 
   107 
   111 normal:
   108 aides: $(AIDES_TARGETS)
   112 ifdef SHORT_VERSION
       
   113 	$(error "Please, undefined SHORT_VERSION before running this target")
       
   114 else
       
   115 	$(MAKE) dist
       
   116 endif
       
   117 
   109 
   118 short:
   110 .PHONY: all rules paper html aides
   119 	$(MAKE) SHORT_VERSION=1 dist
       
   120 
   111 
   121 aides: perso.ps perso.pdf perso.svg create.ps create.pdf
   112 install: install-aides
       
   113 	for short in 0 1 ; do \
       
   114 		make TOP=$(TOP) RULES=$(RULES) INSTALL_DIR=$(INSTALL_DIR) \
       
   115 		SHORT_VERSION=$$short install-rules ; \
       
   116 	done
       
   117 
       
   118 install-rules: install-html
       
   119 	for paper in $(PAPER_TYPE) ; do \
       
   120 		make TOP=$(TOP) RULES=$(RULES) INSTALL_DIR=$(INSTALL_DIR) \
       
   121 		PAPERCONF=$$paper SHORT_VERSION=$(SHORT_VERSION) \
       
   122 		install-paper ; \
       
   123 	done
       
   124 
       
   125 
       
   126 install-paper: $(PAPER_TARGETS)
   122 	mkdir -p $(INSTALL_DIR)
   127 	mkdir -p $(INSTALL_DIR)
   123 	$(foreach target,$^,cp $(target) $(INSTALL_DIR)/$(basename $(target))$(filter-out -,-$(RELEASE))$(suffix $(target));)
   128 	cp -a $(PAPER_TARGETS) $(INSTALL_DIR)
   124 
   129 
   125 include $(TOP)/utils/Makefile.rules
   130 install-html: $(HTML_TARGETS)
       
   131 	mkdir -p $(INSTALL_DIR)
       
   132 	cp -a $(HTML_TARGETS) $(INSTALL_DIR)
   126 
   133 
   127 SUFFIX_TARGETS=-$(PAPERCONF)-book.pdf .txt -$(PAPERCONF).pdf .html .html.tar.gz
   134 install-aides: $(AIDES_TARGETS) $(AIDES_SRC)
   128 DIST_TARGETS=$(addprefix $(PACKAGE)$(NAME_SUFFIX),$(SUFFIX_TARGETS))
   135 	mkdir -p $(INSTALL_DIR)
       
   136 	cp -a $(AIDES_TARGETS) $(INSTALL_DIR)
       
   137 	cp -a $(AIDES_SRC) $(INSTALL_DIR)
   129 
   138 
   130 dist: $(PACKAGE)$(NAME_SUFFIX)-$(PAPERCONF).fo $(DIST_TARGETS)
   139 .PHONY: install install-rules install-paper install-html install-aides
   131 	mkdir -p $(INSTALL_DIR)
   140 
   132 	for target in $(DIST_TARGETS) ; do			\
   141 purge: clean purge-aides
   133 		cp $$target					\
   142 	for short in 0 1 ; do \
   134 			$(INSTALL_DIR)/`echo $$target | sed	\
   143 		make TOP=$(TOP) RULES=$(RULES) INSTALL_DIR=$(INSTALL_DIR) \
   135 			s/$(PACKAGE)$(NAME_SUFFIX)/$(PACKAGE)$(NAME_SUFFIX)$(filter-out -,-$(RELEASE))/` ;	\
   144 		SHORT_VERSION=$$short purge-rules ; \
   136 	done
   145 	done
   137 	-rm -r $(INSTALL_DIR)/$(PACKAGE)$(NAME_SUFFIX)$(filter-out -,-$(RELEASE))
       
   138 	cp -r $(PACKAGE) $(INSTALL_DIR)/$(PACKAGE)$(NAME_SUFFIX)$(filter-out -,-$(RELEASE))
       
   139 
   146 
   140 .PHONY: all normal short dist validate aides install a4 letter
   147 purge-rules: purge-html
       
   148 	for paper in $(PAPER_TYPE) ; do \
       
   149 		make TOP=$(TOP) RULES=$(RULES) INSTALL_DIR=$(INSTALL_DIR) \
       
   150 		PAPERCONF=$$paper SHORT_VERSION=$(SHORT_VERSION) \
       
   151 		purge-paper ; \
       
   152 	done
   141 
   153 
   142 # $(PACKAGE): ps pdf text html html_one rtf htgz zip dvi tex
       
   143 $(PACKAGE): html
       
   144 
   154 
   145 dvi: $(PACKAGE)$(NAME_SUFFIX)-$(PAPERCONF).dvi
   155 purge-paper:
       
   156 	rm -f $(PAPER_TARGETS)
   146 
   157 
   147 view: $(PACKAGE)$(NAME_SUFFIX)-$(PAPERCONF).dvi
   158 purge-html: 
   148 	xdvi $<
   159 	rm -rf $(HTML_TARGETS)
   149 
   160 
   150 text: $(PACKAGE)$(NAME_SUFFIX).txt
   161 purge-aides: 
       
   162 	rm -f $(AIDES_TARGETS)
   151 
   163 
   152 print: pdf
   164 .PHONY: purge purge-rules purge-paper purge-html purge-aides
   153 
   165 
   154 ps: $(PACKAGE)$(NAME_SUFFIX)-$(PAPERCONF).ps
       
   155 #	lpr $@
       
   156 
   166 
   157 html: $(HTML_ROOTFILE)
   167 include $(RULES)
   158 
       
   159 html_one: $(PACKAGE)$(NAME_SUFFIX).html
       
   160 
       
   161 pdf: $(PACKAGE)$(NAME_SUFFIX)-$(PAPERCONF).fo $(PACKAGE)$(NAME_SUFFIX)-$(PAPERCONF).pdf
       
   162 
       
   163 rtf: $(PACKAGE)$(NAME_SUFFIX).rtf
       
   164 
       
   165 htgz: $(PACKAGE)$(NAME_SUFFIX).html.tar.gz
       
   166 
       
   167 zip: $(PACKAGE)$(NAME_SUFFIX).html.zip
       
   168 
       
   169 tex: $(PACKAGE)$(NAME_SUFFIX).tex
       
   170 
       
   171 zTXT: $(PACKAGE)$(NAME_SUFFIX).zTXT
       
   172 
   168 
   173 $(PACKAGE)$(NAME_SUFFIX).html.tar.gz: $(HTML_ROOTFILE)
   169 $(PACKAGE)$(NAME_SUFFIX).html.tar.gz: $(HTML_ROOTFILE)
   174 	tar -czf $@ $(HTML_OUTPUTDIR)
   170 	tar -czf $@ $(HTML_OUTPUTDIR)
   175 
   171 
   176 $(PACKAGE)$(NAME_SUFFIX).html.zip:  $(HTML_ROOTFILE)
   172 $(PACKAGE)$(NAME_SUFFIX).html.zip:  $(HTML_ROOTFILE)
   182 
   178 
   183 arpeges.sgml: $(SGML_FILES)
   179 arpeges.sgml: $(SGML_FILES)
   184 	xsltproc --xinclude --stringparam profile.userlevel adv --stringparam profile.condition $(PROFCOND) -o $@ $(DOCBOOK_XSL_PATH)/profiling/profile.xsl $<
   180 	xsltproc --xinclude --stringparam profile.userlevel adv --stringparam profile.condition $(PROFCOND) -o $@ $(DOCBOOK_XSL_PATH)/profiling/profile.xsl $<
   185 	 perl -pi -e 's;xmlns:xi=".*?";;' $@
   181 	 perl -pi -e 's;xmlns:xi=".*?";;' $@
   186 
   182 
   187 booklet: $(PACKAGE)$(NAME_SUFFIX)-$(PAPERCONF)-book.pdf
   183 .PHONY: clean purge
   188 
   184 
   189 purge_it:
       
   190 	rm -f *.fo *.gif *.png *.eps *.ps *.pdf *.svg \
       
   191 		$(addprefix $(PACKAGE)$(NAME_SUFFIX), .sgml .txt .rtf -$(PAPERCONF).ps -$(PAPERCONF).pdf .html .html.tar.gz .zip $(PAPERCONF).dvi .tex .ltx -$(PAPERCONF).fo -$(PAPERCONF)-book.ps -$(PAPERCONF)-book.pdf)
       
   192 	rm -rf $(PACKAGE)$(NAME_SUFFIX)
       
   193 
       
   194 purge: clean
       
   195 	for paper in $(PAPER_TYPE) ; do					\
       
   196 		$(MAKE) PAPERCONF=$$paper purge_it ;			\
       
   197 		$(MAKE) PAPERCONF=$$paper SHORT_VERSION=1 purge_it ;	\
       
   198 	done
       
   199 
       
   200 snapshot:
       
   201 	rm -f ../$(PACKAGE).tar.bz2 
       
   202 	$(MAKE) ../$(PACKAGE).tar.bz2
       
   203 
       
   204 .PHONY:	dvi view text print ps html html_one pdf rtf zTXT purge purge_it booklet