release-notes/devel Makefile,1.32,1.33
Paul W. Frields (pfrields)
fedora-docs-commits at redhat.com
Mon Sep 18 12:16:34 UTC 2006
Author: pfrields
Update of /cvs/docs/release-notes/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv19160
Modified Files:
Makefile
Log Message:
This should make all the package building functions work properly with non-phony prerequisites for every target. No unnecessary building, thanks TR!
Index: Makefile
===================================================================
RCS file: /cvs/docs/release-notes/devel/Makefile,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- Makefile 13 Sep 2006 09:41:59 -0000 1.32
+++ Makefile 18 Sep 2006 12:16:31 -0000 1.33
@@ -8,7 +8,7 @@
#
DOCBASE = RELEASE-NOTES
PRI_LANG = en_US
-OTHERS = el es fr_FR it ja_JP nl pa ru sv zh_CN pt # cs de gu hr ml ms pt_BR uk zh_TW
+OTHERS = el es fr_FR it ja_JP nl pa pt ru sv zh_CN # cs de gu hr ml ms pt_BR uk zh_TW
FDPDIR = ${PWD}/../..
# Special legalnotice for this document:
@@ -102,16 +102,17 @@
# if OMFINFILES is empty, try and get the file list.
# If it's still empty, and BUILDOMF is set, use that to populate the list.
# Otherwise it stays empty. After all, we may not want them at all.
+
ifeq "${OMFINFILES}" ""
-OMFINFILES=$(wildcard ${PRI_LANG}/*.omf.in)
+OMFINFILES=$(foreach F,$(wildcard ${PRI_LANG}/*.omf.in),$(shell basename ${F}))
ifeq "${OMFINFILES}" ""
ifdef BUILDOMF
-OMFINFILES=${PRI_LANG}/${PKGNAME}.omf.in
-${OMFINFILES}:: ${PRI_LANG}/${RPMINFO}
+OMFINFILES=${PKGNAME}.omf.in
+${PRI_LANG}/${PKGNAME}.omf.in:: ${PRI_LANG}/${RPMINFO}
${XSLTPROC} --stringparam lang ${PRI_LANG} \
--stringparam docbase ${PKGNAME} \
${FDPDIR}/docs-common/packaging/omf-in.xsl \
- ${PRI_LANG}/${RPMINFO} > $@
+ $< > $@
endif
endif
endif
@@ -119,12 +120,26 @@
showvars::
@echo "OMFINFILES=\"${OMFINFILES}\""
+define OMFVAR_template
+$(foreach F,${OMFINFILES},$(eval OMFINFILES-${1}+=${1}/${F}))
+$(foreach F,${OMFINFILES},$(eval OMFFILES-${1}+=$(patsubst %.in,${1}/%,${F})))
+$(foreach F,${OMFINFILES},$(eval PKGOMFFILES-${1}+=$(patsubst \
+ %.omf.in,$(if $(findstring ${PRI_LANG},${1}),%-C.omf,%-${1}.omf), \
+ ${F})))
+showvars-debug::
+ @echo "PKGOMFFILES-${1}=\"${PKGOMFFILES-${1}}\""
+endef
+
+$(foreach L,${LANGUAGES},$(eval $(call OMFVAR_template,${L})))
+
define OMFIN_template
.PHONY: omf-in-${1}
-omf-in-${1}:: $(foreach F,$(patsubst ${PRI_LANG}/%,%,${OMFINFILES}),${1}/${F})
+omf-in-${1}:: ${OMFINFILES-${1}}
+# Treat .omf.in files just like XML... since they are!
+$(foreach F,${OMFINFILES-${1}},$(eval $(call XML_template,${1},${F})))
clean::
- $(foreach F,$(patsubst ${PRI_LANG}/%,%,${OMFINFILES}),${RM} ${1}/${F})
+ ${RM} ${OMFINFILES-${1}}
help::
@printf ${TFMT} 'omf-in-${1}' 'Make OMF input file for ${1}'
@@ -133,15 +148,9 @@
$(foreach L,${OTHERS},$(eval $(call OMFIN_template,${L})))
-# Treat .omf.in files just like XML... since they are!
-$(foreach L,${OTHERS}, \
- $(foreach F,${OMFINFILES}, \
- $(eval $(call XML_template,${L},${F}))))
-
-omf-in-${PRI_LANG}:: ${OMFINFILES}
-
.PHONY: omf-in
-omf-in:: $(foreach L,${LANGUAGES},omf-in-${L})
+omf-in:: $(foreach L,${LANGUAGES},$(foreach F,${OMFINFILES},${L}/${F}))
+
help::
@printf ${TFMT} 'omf-in' 'Make all OMF input files'
@@ -165,11 +174,10 @@
define OMF_template
.PHONY: omf-${1}
-omf-${1}:: omf-in-${1} $(patsubst ${PRI_LANG}/%.in,${1}/%,${OMFINFILES})
+omf-${1}:: ${OMFFILES-${1}} ${OMFINFILES-${1}}
clean::
- $(foreach F,$(patsubst ${PRI_LANG}/%.in,%,${OMFINFILES}), \
- ${RM} ${1}/${F})
+ ${RM} ${OMFFILES-${1}}
help::
@printf ${TFMT} 'omf-${1}' 'Make all OMF files for ${1} locale'
@@ -179,26 +187,22 @@
$(foreach L,${LANGUAGES},$(eval $(call OMF_template,${L})))
.PHONY: omf
-omf:: $(foreach L,${LANGUAGES},omf-${L})
+omf:: $(foreach L,${LANGUAGES},${OMFFILES-${L}})
help::
@printf ${TFMT} 'omf' 'Make all OMF files for all locales'
-####
-# Build README fom PO'd file...
-#
define HACK_TXT_template
.PHONY: readme-${1} readme-isoburn-${1}
-
-txt-${1} text-${1}:: readme-${1} readme-isoburn-${1}
+$(eval TXTEXTRAFILES-${1}=README-${1}.txt README-BURNING-ISOS-${1}.txt)
readme-${1}:: README-${1}.txt
-README-${1}.txt::
- LANG=${1}.UTF-8 ${XMLLINT} ${XMLLINTOPT} ${1}/README.xml > \
- ${1}/README.lint.xml
+README-${1}.txt:: ${1}/README.xml
+ LANG=${1}.UTF-8 ${XMLLINT} ${XMLLINTOPT} ${1}/README.xml \
+ > ${1}/README.lint.xml
LANG=${1}.UTF-8 ${XSLTPROC} \
${FDPDIR}/docs-common/packaging/strip-for-txt.xsl \
${1}/README.lint.xml > ${1}/README.stripped.xml && \
@@ -209,7 +213,7 @@
readme-isoburn-${1}:: README-BURNING-ISOS-${1}.txt
-README-BURNING-ISOS-${1}.txt::
+README-BURNING-ISOS-${1}.txt:: ${1}/README-BURNING-ISOS.xml
LANG=${1}.UTF-8 ${XMLLINT} ${XMLLINTOPT} ${1}/README-BURNING-ISOS.xml \
> ${1}/README-BURNING-ISOS.lint.xml
LANG=${1}.UTF-8 ${XSLTPROC} \
@@ -223,13 +227,20 @@
README-BURNING-ISOS-${1}.txt
clean::
- ${RM} -f README-${1}.txt README-BURNING-ISOS-${1}.txt
+ ${RM} -f ${TXTEXTRAFILES-${1}}
${RM} -f ${1}/README.stripped.xml ${1}/README-BURNING-ISOS.stripped.xml
+txt-${1} text-${1}:: ${TXTEXTRAFILES-${1}}
+
+showvars::
+ echo "TXTEXTRAFILES-${1}=\"${TXTEXTRAFILES-${1}}\""
+
endef
+$(foreach L,${LANGUAGES},$(eval $(call HACK_TXT_template,${L})))
+
.PHONY: readme
-readme:: $(foreach L,${LANGUAGES},$(eval $(call HACK_TXT_template,${L})))
+readme:: $(foreach L,${LANGUAGES},${TXTEXTRAFILES-${L}})
#########
@@ -241,30 +252,42 @@
#
#########
+
+#define PKGOMFFILES_template
+#ifeq "${1}" "${PRI_LANG}"
+#PKGOMFFILES-${1}=$(patsubst %.omf,%-C.omf,${OMFFILES-${1}})
+#else
+#PKGOMFFILES-${1}=$(patsubst %.omf,%-${1}.omf,${OMFFILES-${1}})
+#endif
+#showvars::
+# @echo "PKGOMFFILES-${1}=${PKGOMFFILES-${1}}"
+#endef
+
+$(foreach L,${LANGUAGES},$(eval $(call PKGOMFFILES_template,${L})))
+
define PKGOMF_DOC_template
.PHONY: pkgomf-${1}-${2}
-ifneq "${2}" "${PRI_LANG}"
-pkgomf-${1}-${2}:: ${PKGNAME}-${VERSION}/${1}-${2}.omf
-${PKGNAME}-${VERSION}/${1}-${2}.omf:: omf-${2}
+ifeq "${2}" "${PRI_LANG}"
+pkgomf-${1}-${2}:: ${PKGNAME}-${VERSION}/${1}-C.omf
+${PKGNAME}-${VERSION}/${1}-C.omf:: ${2}/${1}.omf
mkdir -p ${PKGNAME}-${VERSION}
cp ${2}/${1}.omf $$@
else
-pkgomf-${1}-${2}:: ${PKGNAME}-${VERSION}/${1}-C.omf
-${PKGNAME}-${VERSION}/${1}-C.omf:: omf-${2}
+pkgomf-${1}-${2}:: ${PKGNAME}-${VERSION}/${1}-${2}.omf
+${PKGNAME}-${VERSION}/${1}-${2}.omf:: ${2}/${1}.omf
mkdir -p ${PKGNAME}-${VERSION}
cp ${2}/${1}.omf $$@
endif
endef
$(foreach L,${LANGUAGES}, \
- $(foreach F,$(patsubst ${PRI_LANG}/%.omf.in,%,${OMFINFILES}), \
+ $(foreach F,$(patsubst %.omf.in,%,${OMFINFILES}), \
$(eval $(call PKGOMF_DOC_template,${F},${L}))))
define PKGOMF_template
.PHONY: pkgomf-${1}
-pkgomf-${1}:: $(foreach F,$(patsubst ${PRI_LANG}/%.omf.in,%,${OMFINFILES}), \
- pkgomf-${F}-${1})
-
+pkgomf-${1}:: $(foreach F,${PKGOMFFILES-${1}},${PKGNAME}-${VERSION}/${F})
+$(eval PKGFILES-${1}+=$(foreach F,${PKGOMFFILES-${1}},${PKGNAME}-${VERSION}/${F}))
endef
$(foreach L,${LANGUAGES},$(eval $(call PKGOMF_template,${L})))
@@ -272,7 +295,8 @@
define PKGHTML_NOCHUNKS_template
.PHONY: pkghtml-nochunks-${1}
pkghtml-nochunks-${1}:: ${PKGNAME}-${VERSION}/${DOCBASE}-${1}.html
-${PKGNAME}-${VERSION}/${DOCBASE}-${1}.html:: html-nochunks-${1}
+$(eval PKGFILES-${1}+=${PKGNAME}-${VERSION}/${DOCBASE}-${1}.html)
+${PKGNAME}-${VERSION}/${DOCBASE}-${1}.html:: ${DOCBASE}-${1}.html
mkdir -p ${PKGNAME}-${VERSION}
cp ${DOCBASE}-${1}.html $$@
endef
@@ -282,14 +306,15 @@
define PKGTXT_template
.PHONY: pkgtxt-${1}
pkgtxt-${1}:: ${PKGNAME}-${VERSION}/${DOCBASE}-${1}.txt ${PKGNAME}-${VERSION}/README-${1}.txt ${PKGNAME}-${VERSION}/README-BURNING-ISOS-${1}.txt
-${PKGNAME}-${VERSION}/${DOCBASE}-${1}.txt:: txt-${1}
+$(eval PKGFILES-${1}+=${PKGNAME}-${VERSION}/${DOCBASE}-${1}.txt ${PKGNAME}-${VERSION}/README-${1}.txt ${PKGNAME}-${VERSION}/README-BURNING-ISOS-${1}.txt)
+${PKGNAME}-${VERSION}/${DOCBASE}-${1}.txt:: ${DOCBASE}-${1}.txt
mkdir -p ${PKGNAME}-${VERSION}
cp ${DOCBASE}-${1}.txt $$@
### README is hacked in until we have more control here...
-${PKGNAME}-${VERSION}/README-${1}.txt:: txt-${1}
+${PKGNAME}-${VERSION}/README-${1}.txt:: README-${1}.txt
mkdir -p ${PKGNAME}-${VERSION}
cp README-${1}.txt $$@
-${PKGNAME}-${VERSION}/README-BURNING-ISOS-${1}.txt:: txt-${1}
+${PKGNAME}-${VERSION}/README-BURNING-ISOS-${1}.txt:: README-BURNING-ISOS-${1}.txt
mkdir -p ${PKGNAME}-${VERSION}
cp README-BURNING-ISOS-${1}.txt $$@
endef
@@ -298,15 +323,14 @@
define PKG_template
.PHONY: release-pkg-${1}
-release-pkg-${1}:: pkghtml-nochunks-${1} pkgtxt-${1} pkgomf-${1}
+release-pkg-${1}:: ${PKGFILES-${1}}
endef
$(foreach L,${LANGUAGES},$(eval $(call PKG_template,${L})))
.PHONY: release-pkg
release-pkg:: ${PKGNAME}-${VERSION}.tar.gz
-${PKGNAME}-${VERSION}.tar.gz:: $(foreach L,${LANGUAGES},release-pkg-${L})
- rm -f $@
+${PKGNAME}-${VERSION}.tar.gz:: $(foreach L,${LANGUAGES},${PKGFILES-${L}})
cp -a --parents css/*css fedora.css img/*png stylesheet-images/*png ${PKGNAME}-${VERSION}
mkdir -p ${PKGNAME}-${VERSION}/about/C && \
cp ${PRI_LANG}/about-fedora.xml ${PKGNAME}-${VERSION}/about/C
@@ -327,12 +351,12 @@
.PHONY: release-srpm
-release-srpm:: ${PKGNAME}-${VERSION}-${PKGRELEASE}.src.rpm
-${PKGNAME}-${VERSION}-${PKGRELEASE}.src.rpm:: ${SPECFILE} release-pkg
+release-srpm:: ${PKGNAME}-${VERSION}-${RELEASE}.src.rpm
+${PKGNAME}-${VERSION}-${RELEASE}.src.rpm:: ${SPECFILE} ${PKGNAME}-${VERSION}.tar.gz
rpmbuild -bs ${PKGRPMFLAGS} ${SPECFILE}
clean::
- ${RM} -rf ${PKGNAME}-${VERSION}-${PKGRELEASE}.src.rpm
+ ${RM} -rf ${PKGNAME}-${VERSION}-${RELEASE}.src.rpm
help::
@printf ${TFMT} 'release-srpm' 'Make a SRPM suitable for import to Core'
More information about the Fedora-docs-commits
mailing list