1# $NetBSD: Makefile,v 1.28 2019/06/02 17:18:57 thorpej Exp $ 2 3.include <bsd.own.mk> 4.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib" 5 6.include <bsd.kernobj.mk> 7 8# 9# `make' or `make all' builds all gzimg files defined in ${ARCH_TARGETS}. 10# `make _KERNELNAME_' builds all gzimg files for specified kernels. 11# 12 13 14 15# ARCH_TARGETS is a list of: 16# KERNEL_name GZBOOT_name GZIMG_name 17# RELOC_ADDR WHICH_kernel 18# 19.if ${MACHINE_ARCH} == "arm" || \ 20 ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmv4" 21# Little endian ARMv4 platforms. 22ARCH_TARGETS= GEMINI GEMINI GEMINI \ 23 0x01600000 netbsd \ 24 \ 25 TS7200 TS7200 TS7200_wd0 \ 26 0x60660000 netbsd-wd0 \ 27 \ 28 SMDK2800 SMDK2800 SMDK2800 \ 29 0x00000000 netbsd 30.elif ${MACHINE_ARCH} == "arm" || \ 31 ${MACHINE_ARCH} == "earm" || ${MACHINE_ARCH} == "earmv5" 32# Little endian ARMv5 platforms. 33ARCH_TARGETS= ADI_BRH ADI_BRH ADI_BRH_sd0 \ 34 0x00140000 netbsd-sd0 \ 35 \ 36 ADI_BRH ADI_BRH ADI_BRH_wd0 \ 37 0x00140000 netbsd-wd0 \ 38 \ 39 CP3100 IQ80321 CP3100_sd0 \ 40 0xf0080000 netbsd-sd0 \ 41 \ 42 CP3100 IQ80321 CP3100_wd0 \ 43 0xf0080000 netbsd-wd0 \ 44 \ 45 IQ80310 IQ80310 IQ80310_sd0 \ 46 0x00080000 netbsd-sd0 \ 47 \ 48 IQ80310 IQ80310 IQ80310_wd0 \ 49 0x00080000 netbsd-wd0 \ 50 \ 51 IQ80321 IQ80321 IQ80321_sd0 \ 52 0xf0080000 netbsd-sd0 \ 53 \ 54 IQ80321 IQ80321 IQ80321_wd0 \ 55 0xf0080000 netbsd-wd0 \ 56 \ 57 TEAMASA_NPWR IQ80310 TEAMASA_NPWR_sd0 \ 58 0x00080000 netbsd-sd0 59.elif ${MACHINE_ARCH} == "armeb" || \ 60 ${MACHINE_ARCH} == "earmeb" || ${MACHINE_ARCH} == "earmv5eb" 61# Big endian ARMv5 platforms. 62ARCH_TARGETS= ADI_BRH ADI_BRH ADI_BRH_sd0 \ 63 0x00140000 netbsd-sd0 \ 64 \ 65 ADI_BRH ADI_BRH ADI_BRH_wd0 \ 66 0x00140000 netbsd-wd0 67.endif 68 69# Default is to build for all ARCH_TARGETS 70ALL_KERNELS?= + 71 72.for K G I R W in ${ARCH_TARGETS} # { 73.for configsel in ${ALL_KERNELS} # { 74.if ${configsel} == "+" || ${configsel} == ${K} 75 76GZB${G}= ${DESTDIR}/usr/mdec/gzboot_${G}_${R}.bin 77 78GZIMGS+= gzimg_${I}_flash_${R}.gz 79 80gzimg_${I}_flash_${R}: .NOTMAIN ${GZB${G}} ${KERNOBJDIR}/${K}/${W}.bin 81 @echo "Populating ${.TARGET}" 82 -rm -f ${.TARGET}.kern.gz 83 ${TOOL_GZIP_N} -9c ${KERNOBJDIR}/${K}/${W}.bin > ${.TARGET}.kern.gz 84 ${TOOL_CAT} ${GZB${G}} ${.TARGET}.kern.gz > ${.TARGET} 85 86gzimg_${I}_flash_${R}.gz: .NOTMAIN gzimg_${I}_flash_${R} 87 -rm -f ${.TARGET} 88 ${TOOL_GZIP_N} -9c ${.ALLSRC} > ${.TARGET} 89 90CLEANFILES+= gzimg_${I}_flash_${R}.kern gzimg_${I}_flash_${R}.kern.gz \ 91 gzimg_${I}_flash_${R} 92 93.if empty(GZKERNELS:M${K}) 94GZKERNELS+= $K 95.endif 96KZ${K}+= gzimg_${I}_flash_${R}.gz 97 98.endif 99.endfor # } 100.endfor # } 101 102.for K in ${GZKERNELS} 103${K}: .PHONY ${KZ${K}} 104.endfor 105 106CLEANFILES+= ${GZIMGS} 107 108 109realall: ${GZIMGS} 110 111release: check_RELEASEDIR .WAIT ${GZIMGS} 112.for img in ${GZIMGS} 113 ${RELEASE_INSTALL} ${img} ${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/gzimg 114.endfor 115 116.include <bsd.prog.mk> 117