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