Makefile.mdset revision 1.5
1# $NetBSD: Makefile.mdset,v 1.5 2002/04/13 17:27:07 thorpej 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 37.for suf in ${MDEXTRA_SUFFIXES.${_K}} 38KERNELS+= ${_KERNEL.${_K}}.${suf}.gz 39.endfor 40KERNELSYMS+= ${_KERNEL.${_K}}.symbols.gz 41 42${_KERNEL.${_K}}.gz: .NOTMAIN ${KERNOBJDIR}/${_K}/netbsd ${_I} 43 @echo "Populating ${_K} with ${_I} into ${.TARGET}" 44 rm -f netbsd.tmp ${_KERNEL.${_K}}.symbols.gz 45 cp ${KERNOBJDIR}/${_K}/netbsd netbsd.tmp 46 ${MDSETIMAGE} -v netbsd.tmp ${_I} 47 ${NM} netbsd.tmp | gzip -9 > ${_KERNEL.${_K}}.symbols.gz 48 ${STRIP} netbsd.tmp 49.if defined(${_KERNEL.${_K}}.post) 50 ${${_KERNEL.${_K}}.post} 51.endif 52 gzip -9f netbsd.tmp 53 mv netbsd.tmp.gz ${.TARGET} 54 55.for suf in ${MDEXTRA_SUFFIXES.${_K}} 56${_KERNEL.${_K}}.${suf}.gz: .NOTMAIN ${_KERNEL.${_K}}.gz 57 mv netbsd.${suf}.gz ${.TARGET} 58.endfor 59 60.endfor # } 61 62CLEANFILES+= netbsd.tmp netbsd.tmp.gz ${KERNELS} ${KERNELSYMS} 63 64realall: ${KERNELS} 65 66.if defined(MDSETDIR) 67release: check_RELEASEDIR .WAIT ${KERNELS} 68 -mkdir -p ${RELEASEDIR}/${MDSETDIR} 69 ${RELINSTALL} ${KERNELS} ${KERNELSYMS} ${RELEASEDIR}/${MDSETDIR} 70.endif 71