ROOT:=.. include $(ROOT)/doc/latex/lettre/lettre-makedefinitions.mak rootDOC:=$(ROOT)/doc/latex/$(PACKAGE_NAME) rootTEX:=$(ROOT)/tex/latex/$(PACKAGE_NAME) plainPATH:= plain plainTDS := $(plainPATH)/tds plainTDsDoc := $(plainTDS)/doc/latex/$(PACKAGE_NAME) plainTDsTeX := $(plainTDS)/tex/latex/$(PACKAGE_NAME) plainPKG := $(plainPATH)/$(PACKAGE_NAME) plainDIR:= $(plainPATH) $(plainPKG) \ $(plainTDsDoc) $(plainTDsTeX) $(plainTDS) plainMKRELEASENOTES:=\ $(call MAKE_SYMLINK,$(rootDOC)/release-notes.txt,$(plainTDsDoc)/$${VERSION}-release-notes.txt); \ $(call MAKE_SYMLINK,$(rootDOC)/release-notes.txt,$(plainPKG)/$${VERSION}-release-notes.txt) dtxPATH:= dtx dtxPKG := $(dtxPATH)/$(PACKAGE_NAME) dtxTDS := $(dtxPATH)/tds dtxBUILD := $(dtxPATH)/build dtxTDsTeX := $(dtxTDS)/tex/latex/$(PACKAGE_NAME) dtxTDsDoc := $(dtxTDS)/doc/latex/$(PACKAGE_NAME) dtxDIR := $(dtxPATH) $(dtxPKG) $(dtxTDsDoc) $(dtxTDsTeX) $(dtxTDS) $(dtxBUILD) dtxMKRELEASENOTES:= \ $(call MAKE_SYMLINK,$(rootDOC)/release-notes.txt,$(dtxPATH)/$${VERSION}-release-notes.txt); \ $(call MAKE_SYMLINK,$(rootDOC)/release-notes.txt,$(dtxTDsDoc)/$${VERSION}-release-notes.txt) DISTPKG:=$(DISTTYPE)/$(PACKAGE_NAME) ifeq ($(VERSION),) MKVERSION:=export VERSION=$(shell echo lt_version | m4 $(rootDOC)/version.m4 -) else MKVERSION:=export VERSION=$(VERSION) endif .PHONY: dist dist: $(DISTTYPE)dist # Distribution avec d'empaquetage plain #------------------------------------------------------------------------------------------------------------ .PHONY: plaindist plaindist: $(plainPKG).zip DOCTEXMKFILE_plain:=$(patsubst latexmkrc.pl,latexmkrc,$(DOCTEXMKFILE)) $(plainPKG).zip: $(addprefix $(plainPKG)/,$(DOC)) \ $(addprefix $(plainPKG)/,$(STYFILES) $(README) $(DOCSRC) $(TEMPLATES) $(DOCTEXMKFILE_plain)) \ $(plainPATH)/$(PACKAGE_NAME).tds.zip mkrelease-notes cd $(plainPATH); zip -r $(PACKAGE_NAME).zip $(PACKAGE_NAME) $(PACKAGE_NAME).tds.zip $(addprefix $(plainPKG)/,$(filter-out lettre-path.tex,$(DOCSRC)) $(filter-out latexmk.pl, $(DOCTEXMKFILE))): \ $(plainPKG)/%:$(rootDOC)/% $(call MAKE_SYMLINK,$<,$@) $(addprefix $(plainPKG)/,$(TEMPLATES)):$(plainPKG)/%:$(rootTEX)/% $(call MAKE_SYMLINK,$<,$@) $(addsuffix /$(DOCTEXMKFILE_plain),$(plainPKG) $(plainTDsDoc)):%:$(rootDOC)/latexmkrc.pl $(call MAKE_SYMLINK,$<,$@) $(addsuffix /lettre-path.tex,$(plainPKG) $(plainTDsDoc)):%:$(plainPATH)/lettre-path.tex $(call MAKE_SYMLINK,$<,$@) $(rootDOC)/latexmk.pl: $(rootDOC)/latexmkrc.m4 $(MAKE) -C $(dir $@) $(notdir $@) $(addprefix $(plainTDsDoc)/,$(README)): \ $(plainTDsDoc)/%: $(plainPKG)/% $(call MAKE_SYMLINK,$<,$@) $(plainPATH)/$(PACKAGE_NAME).tds.zip: \ $(addprefix $(plainTDsDoc)/,$(DOCSRC) $(DOC) $(README) $(DOCTEXMKFILE_plain)) \ $(addprefix $(plainTDsTeX)/,$(STYFILES) $(TEMPLATES)) \ mkdir mkrelease-notes cd $(plainTDS); zip -r $(PACKAGE_NAME).tds.zip doc tex mv $(plainTDS)/$(PACKAGE_NAME).tds.zip $(plainPATH) $(addprefix $(plainTDsTeX)/,$(STYFILES) $(TEMPLATES)):$(plainTDsTeX)/%:$(plainPKG)/% $(call MAKE_SYMLINK,$<,$@) $(addprefix $(plainTDsDoc)/,$(filter-out lettre-path.tex,$(DOCSRC)) \ $(DOC) $(filter-out latexmk.pl, $(DOCTEXMKFILE))): \ $(plainTDsDoc)/%:$(rootDOC)/% $(addprefix $(rootDOC)/, $(DOCMAKEFILE)) $(call MAKE_SYMLINK,$<,$@) $(addprefix $(rootDOC)/, version.m4 release-notes.txt):%: \ $(rootDOC)/release-notes $(MAKE) -C $(dir $@) $(notdir $@) MAKELEVELBASE=$(shell expr $(MAKELEVEL) + 1) NEEDS_RELOCATION=0 $(addprefix $(rootDOC)/, latexmkrc.pl):%: $(MAKE) -C $(dir $@) $(notdir $@) MAKELEVELBASE=$(shell expr $(MAKELEVEL) + 1) NEEDS_RELOCATION=0 $(addprefix $(plainPKG)/,$(STYFILES)):$(plainPKG)/%:$(rootTEX)/% mkdir m4 -- $(rootDOC)/version.m4 $< > $@ $(addprefix $(plainPKG)/,$(DOC)):$(plainPKG)/%:$(rootDOC)/% mkdir $(call MAKE_SYMLINK,$<,$@) define LETTRE_PATH_plain '\IfFileExists{./lettre.cls}{\newcommand*\inputsdir{./}}{\newcommand*\inputsdir{../../../tex/latex/lettre/}}\ \newcommand*\versnum{lt_version}\ \newcommand*\inputreleasenotes{\verbatiminput{lt_version()-release-notes.txt}}\ \newcommand*\documentationducode{\DocInput{\inputsdir lettre.cls}\subsection{Définition des langues}$(patsubst %,\DocInput{\inputsdir lettre-%.ldf},$(LANGS))}\ \newcommand*\listeexemples{lt_examples()}\ \newcommand*\listegabarits{lt_templates()}' endef # Distribution avec l'empaquetage dtx #------------------------------------------------------------------------------------------------------------ .PHONY: dtxdist dtxdist: $(dtxPKG).zip $(dtxPKG).zip: $(addprefix $(dtxPKG)/,$(DOC) \ $(PACKAGE_NAME).dtx $(README)) \ $(dtxPATH)/$(PACKAGE_NAME).tds.zip cd $(dtxPATH); zip -r $(PACKAGE_NAME).zip $(PACKAGE_NAME) $(PACKAGE_NAME).tds.zip $(dtxPKG).dtx: $(PACKAGE_NAME)-dtx.m4 \ $(addprefix $(rootDOC)/,version.m4 latexmkrc.pl) \ $(addprefix $(dtxPATH)/,$(SUBSRC) $(TOPSRC) $(AUTO_SRC)) \ $(addprefix $(dtxPATH)/,$(STYFILES) $(TEMPLATES)) \ mkrelease-notes m4 $(rootDOC)/version.m4 $< > $@ $(addsuffix /$(PACKAGE_NAME).dtx,$(dtxBUILD) $(dtxPKG) $(dtxTDsDoc)): %: $(dtxPKG).dtx $(call MAKE_SYMLINK,$<,$@) $(addprefix $(dtxPATH)/,$(SUBSRC) $(TOPSRC)):$(dtxPATH)/%:$(rootDOC)/% $(dtxPATH) awk '$(TEX_TRIMMER_AWK)' $< > $@ $(addprefix $(dtxPATH)/,$(SCRIPTOUT_SRC)):$(dtxPATH)/%:$(rootDOC)/% $(dtxPATH) $(call MAKE_SYMLINK,$<,$@) $(addprefix $(dtxPATH)/,$(STYFILES_STRIP)):$(dtxPATH)/%:$(rootTEX)/% $(dtxPATH) awk '$(STYSTRIP_TRIMMER_AWK)' $< > $@ $(addprefix $(dtxPATH)/,$(STYFILES_PLAIN) $(TEMPLATES)):$(dtxPATH)/%:$(rootTEX)/% $(dtxPATH) awk '$(STYPLAIN_TRIMMER_AWK)' $< > $@ $(addprefix $(dtxTDsTeX)/,$(STYFILES)):$(dtxTDsTeX)/%:$(dtxBUILD)/% $(call MAKE_SYMLINK,$<,$@) $(addprefix $(dtxBUILD)/,$(STYFILES) $(DOCSRC) latexmkrc.pl): $(dtxBUILD)/$(PACKAGE_NAME).dtx cd $(dir $<) && pdftex $(notdir $<) $(addprefix $(dtxBUILD)/,$(DOC)): $(addprefix $(dtxBUILD)/,$(DOCSRC) latexmkrc.pl) cd $(dtxBUILD) && latexmk -r latexmkrc.pl $(addprefix $(dtxTDsDoc)/,$(DOC)):$(dtxTDsDoc)/%:$(dtxBUILD)/% $(call MAKE_SYMLINK,$<,$@) $(addprefix $(dtxPKG)/,$(DOC)):$(dtxPKG)/%:$(dtxBUILD)/% $(call MAKE_SYMLINK,$<,$@) .PHONY: check_version_dist check_version_dist: $(rootDOC)/version.m4 always if [ ! x$$(echo lt_disttype | m4 $(rootDOC)/version.m4 -) == x$(DISTTYPE) ]; then \ rm $<; \ $(MAKE) $< VERSION=$(VERSION) MAKELEVELBASE=-2; \ fi .PHONY: always always: $(dtxPATH)/$(PACKAGE_NAME).tds.zip: \ $(addprefix $(dtxTDsDoc)/,$(DOC) $(PACKAGE_NAME).dtx) \ $(addprefix $(dtxTDsTeX)/,$(STYFILES)) \ $(addprefix $(dtxTDsDoc)/,$(README)) \ mkdir mkrelease-notes cd $(dtxTDS); zip -r $(PACKAGE_NAME).tds.zip doc tex mv $(dtxTDS)/$(PACKAGE_NAME).tds.zip $(dtxPATH) $(addprefix $(dtxTDsDoc)/,$(README)):$(dtxTDsDoc)/%:$(dtxPKG)/% $(call MAKE_SYMLINK,$<,$@) define LETTRE_PATH_dtx '\newcommand*\inputsdir{./}\ \newcommand*\versnum{lt_version}\ \newcommand*\inputreleasenotes{\verbatiminput{lt_version()-release-notes.txt}}\ \newcommand*\documentationducode{\DocInput{lettre.dtx}}\ \newcommand*\listeexemples{lt_examples()}\ \newcommand*\listegabarits{lt_templates()}' endef $(addprefix $(rootDOC)/,$(SCRIPTOUT_SRC)):%: $(rootDOC)/lettre-script.tex $(MAKE) -C $(dir $<) $(notdir $@) MAKELEVELBASE=$(shell expr $(MAKELEVEL) + 1) # Règles indépendante du type d'empaquetage #------------------------------------------------------------------------------------------------------------ .PHONY: mkdir mkdir: $($(DISTTYPE)DIR) $($(DISTTYPE)PATH)/lettre-path.tex: $(rootDOC)/version.m4 $(dtxDIR) makefile $(SET_OUTFILE); \ echo $(LETTRE_PATH_$(DISTTYPE)) | m4 $< - > $(OUTFILE) $($(DISTTYPE)DIR):%: mkdir -p $@ $(addprefix $(rootDOC)/, $(DOC)):%: \ $(addprefix $(rootDOC)/,$(DOCSRC)) $(MAKE) -C $(rootDOC)/ $(notdir $@) MAKELEVELBASE=$(shell expr $(MAKELEVEL) + 1) .PHONY: mkrelease-notes mkrelease-notes: mkdir $(addprefix $(rootDOC)/, version.m4 release-notes.txt) $(MKVERSION); \ $($(DISTTYPE)MKRELEASENOTES) $(DISTPKG)/$(VERSION)-release-notes.txt: $(rootDOC)/release-notes.txt cp -uT $< $@ $(addprefix $(DISTPKG)/,$(README)):$(DISTPKG)/%:$(rootDOC)/readme/%.m4 $(rootDOC)/version.m4 $(DISTPKG) m4 -D lt_disttype=$(DISTTYPE) $(rootDOC)/version.m4 $< > $@ $(addprefix clean,plain dtx):%: rm -fr $(patsubst clean%,%,$@) .PHONY: clean mostlyclean clean mostlyclean: .PHONY: realclean squeaky realclean squeaky: clean$(DISTTYPE)