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. 22 ARCH_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. 33 ARCH_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. 62 ARCH_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 70 ALL_KERNELS?= + 71 72 .for K G I R W in ${ARCH_TARGETS} # { 73 .for configsel in ${ALL_KERNELS} # { 74 .if ${configsel} == "+" || ${configsel} == ${K} 75 76 GZB${G}= ${DESTDIR}/usr/mdec/gzboot_${G}_${R}.bin 77 78 GZIMGS+= gzimg_${I}_flash_${R}.gz 79 80 gzimg_${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 86 gzimg_${I}_flash_${R}.gz: .NOTMAIN gzimg_${I}_flash_${R} 87 -rm -f ${.TARGET} 88 ${TOOL_GZIP_N} -9c ${.ALLSRC} > ${.TARGET} 89 90 CLEANFILES+= gzimg_${I}_flash_${R}.kern gzimg_${I}_flash_${R}.kern.gz \ 91 gzimg_${I}_flash_${R} 92 93 .if empty(GZKERNELS:M${K}) 94 GZKERNELS+= $K 95 .endif 96 KZ${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 106 CLEANFILES+= ${GZIMGS} 107 108 109 realall: ${GZIMGS} 110 111 release: 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