Home | History | Annotate | Line # | Download | only in gzimg
      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