Makefile.mdset revision 1.5
11.5Sthorpej#	$NetBSD: Makefile.mdset,v 1.5 2002/04/13 17:27:07 thorpej Exp $
21.1Slukem#
31.1Slukem# Makefile snippet to ${MDSETIMAGE} file system images into kernels
41.1Slukem#
51.1Slukem
61.1Slukem#
71.1Slukem# Required variables:
81.1Slukem#	_SRC_TOP_	Top level of src tree (set by <bsd.own.mk>)
91.4Slukem#	MDSETTARGETS	List of images to ${MDSETIMAGE} into kernels:
101.4Slukem#				KERNEL	IMAGE	FILENAME
111.4Slukem#			The kernel ${KERNOBJDIR}/${KERNEL}/netbsd is
121.4Slukem#			${MDSETIMAGE} with ${IMAGE}, ${STRIP}ped,
131.4Slukem#			and gzipped into ${FILENAME}.gz.
141.4Slukem#			If FILENAME is "-", use "netbsd.${KERNEL}"
151.1Slukem#
161.1Slukem# Optional variables:
171.2Slukem#	MDSETDIR		where to install kernels with "release" target
181.4Slukem#	${FILENAME}.post	run after ${STRIP}; kernel is netbsd.tmp
191.3Slukem#
201.3Slukem# Variables modified by this:
211.4Slukem#	KERNELS			List of kernel .gz files to build
221.4Slukem#	KERNELSYMS		List of kernel .symbol files to build
231.4Slukem#	_KERNEL.${KERNEL}	Target filename for ${KERNEL}
241.1Slukem#
251.1Slukem
261.1Slukem.include <bsd.kernobj.mk>
271.1Slukem
281.4Slukem.for _K _I _F in ${MDSETTARGETS}	# {
291.4Slukem_FREAL:=${_F}			# work around obscure issue in make(1)
301.4Slukem.if ${_FREAL} == "-"
311.4Slukem_KERNEL.${_K}:=	netbsd.${_K}
321.4Slukem.else
331.4Slukem_KERNEL.${_K}:=	${_F}
341.4Slukem.endif
351.1Slukem
361.4SlukemKERNELS+=	${_KERNEL.${_K}}.gz
371.5Sthorpej.for suf in ${MDEXTRA_SUFFIXES.${_K}}
381.5SthorpejKERNELS+=	${_KERNEL.${_K}}.${suf}.gz
391.5Sthorpej.endfor
401.4SlukemKERNELSYMS+=	${_KERNEL.${_K}}.symbols.gz
411.1Slukem
421.4Slukem${_KERNEL.${_K}}.gz: .NOTMAIN ${KERNOBJDIR}/${_K}/netbsd ${_I}
431.4Slukem	@echo "Populating ${_K} with ${_I} into ${.TARGET}"
441.4Slukem	rm -f netbsd.tmp ${_KERNEL.${_K}}.symbols.gz
451.4Slukem	cp ${KERNOBJDIR}/${_K}/netbsd netbsd.tmp
461.4Slukem	${MDSETIMAGE} -v netbsd.tmp ${_I}
471.4Slukem	${NM} netbsd.tmp | gzip -9 > ${_KERNEL.${_K}}.symbols.gz
481.1Slukem	${STRIP} netbsd.tmp
491.4Slukem.if defined(${_KERNEL.${_K}}.post)
501.4Slukem	${${_KERNEL.${_K}}.post}
511.1Slukem.endif
521.4Slukem	gzip -9f netbsd.tmp
531.1Slukem	mv netbsd.tmp.gz ${.TARGET}
541.5Sthorpej
551.5Sthorpej.for suf in ${MDEXTRA_SUFFIXES.${_K}}
561.5Sthorpej${_KERNEL.${_K}}.${suf}.gz: .NOTMAIN ${_KERNEL.${_K}}.gz
571.5Sthorpej	mv netbsd.${suf}.gz ${.TARGET}
581.5Sthorpej.endfor
591.1Slukem
601.1Slukem.endfor							# }
611.1Slukem
621.1SlukemCLEANFILES+=	netbsd.tmp netbsd.tmp.gz ${KERNELS} ${KERNELSYMS}
631.1Slukem
641.1Slukemrealall: ${KERNELS}
651.1Slukem
661.1Slukem.if defined(MDSETDIR)
671.1Slukemrelease: check_RELEASEDIR .WAIT ${KERNELS}
681.1Slukem	-mkdir -p ${RELEASEDIR}/${MDSETDIR}
691.1Slukem	${RELINSTALL} ${KERNELS} ${KERNELSYMS} ${RELEASEDIR}/${MDSETDIR}
701.1Slukem.endif
71