Makefile.mdset revision 1.4
1# $NetBSD: Makefile.mdset,v 1.4 2002/04/12 13:39:45 lukem Exp $ 2# 3# Makefile snippet to ${MDSETIMAGE} file system images into kernels 4# 5 6# 7# Required variables: 8# _SRC_TOP_ Top level of src tree (set by <bsd.own.mk>) 9# MDSETTARGETS List of images to ${MDSETIMAGE} into kernels: 10# KERNEL IMAGE FILENAME 11# The kernel ${KERNOBJDIR}/${KERNEL}/netbsd is 12# ${MDSETIMAGE} with ${IMAGE}, ${STRIP}ped, 13# and gzipped into ${FILENAME}.gz. 14# If FILENAME is "-", use "netbsd.${KERNEL}" 15# 16# Optional variables: 17# MDSETDIR where to install kernels with "release" target 18# ${FILENAME}.post run after ${STRIP}; kernel is netbsd.tmp 19# 20# Variables modified by this: 21# KERNELS List of kernel .gz files to build 22# KERNELSYMS List of kernel .symbol files to build 23# _KERNEL.${KERNEL} Target filename for ${KERNEL} 24# 25 26.include <bsd.kernobj.mk> 27 28.for _K _I _F in ${MDSETTARGETS} # { 29_FREAL:=${_F} # work around obscure issue in make(1) 30.if ${_FREAL} == "-" 31_KERNEL.${_K}:= netbsd.${_K} 32.else 33_KERNEL.${_K}:= ${_F} 34.endif 35 36KERNELS+= ${_KERNEL.${_K}}.gz 37KERNELSYMS+= ${_KERNEL.${_K}}.symbols.gz 38 39${_KERNEL.${_K}}.gz: .NOTMAIN ${KERNOBJDIR}/${_K}/netbsd ${_I} 40 @echo "Populating ${_K} with ${_I} into ${.TARGET}" 41 rm -f netbsd.tmp ${_KERNEL.${_K}}.symbols.gz 42 cp ${KERNOBJDIR}/${_K}/netbsd netbsd.tmp 43 ${MDSETIMAGE} -v netbsd.tmp ${_I} 44 ${NM} netbsd.tmp | gzip -9 > ${_KERNEL.${_K}}.symbols.gz 45 ${STRIP} netbsd.tmp 46.if defined(${_KERNEL.${_K}}.post) 47 ${${_KERNEL.${_K}}.post} 48.endif 49 gzip -9f netbsd.tmp 50 mv netbsd.tmp.gz ${.TARGET} 51 52.endfor # } 53 54CLEANFILES+= netbsd.tmp netbsd.tmp.gz ${KERNELS} ${KERNELSYMS} 55 56realall: ${KERNELS} 57 58.if defined(MDSETDIR) 59release: check_RELEASEDIR .WAIT ${KERNELS} 60 -mkdir -p ${RELEASEDIR}/${MDSETDIR} 61 ${RELINSTALL} ${KERNELS} ${KERNELSYMS} ${RELEASEDIR}/${MDSETDIR} 62.endif 63