11.46Slukem# $NetBSD: Makefile,v 1.46 2023/06/03 21:26:28 lukem Exp $ 21.1Spk 31.12SchristosSTRIPFLAG= 41.24SuwePROGSOURCE= boot.c net.c netif_sun.c conf.c openfirm.c bootinfo.c \ 51.40Schristos mmu.c prompatch.c 61.5SmrgNEWVERSWHAT= "Secondary Boot" 71.32SmartinFILES= boot.net bootjs.net ${RELOCS:S/^/boot./g} 81.40SchristosCLEANFILES:= ${FILES} 91.17SpkLINKS= ${BINDIR}/boot.${RELOC_DEFAULT} ${BINDIR}/boot 101.27Sthorpej 111.33SmartinCPPFLAGS+= -DBOOT_AOUT -DBOOT_ELF32 -DSUPPORT_DHCP 121.29SmrgCFLAGS+= -freestanding 131.1Spk 141.5SmrgINCLUDE_LIBZ= yes 151.5SmrgSAMISCMAKEFLAGS= SA_USE_CREAD=yes 161.5Smrg 171.43Srin# Follow the suit of Makefile.kern.inc; needed for the lfs64 union 181.43Srin# accessors -- they don't actually dereference the resulting pointer, 191.43Srin# just use it for type-checking. 201.46SlukemCWARNFLAGS+= ${CC_WNO_ADDRESS_OF_PACKED_MEMBER} 211.43Srin 221.5Smrg.include "../Makefile.buildboot" 231.25Smrg 241.36Snakayama.if ${MACHINE} == sparc64 251.25SmrgCFLAGS+= -m32 261.25SmrgLDFLAGS+= -m elf32_sparc 271.25SmrgAFLAGS+= -Wa,-32 281.25Smrg.endif 291.7Spk 301.17Spk.include <bsd.own.mk> 311.12Schristos 321.17SpkOBJS=${SRCS:N*.h:N*.sh:N*.fth:R:S/$/.o/g} 331.15Ssommerfe 341.38SmrgLINKFLAGS=-N -e start -Map $@.map 351.12Schristos 361.17Spk.MAIN: all 371.20Smycroftrealall: ${FILES} 381.5Smrg 391.24Suwe 401.12Schristos# conjure up a magic header that is accepted by all Sun PROMS; 411.12Schristos# see installboot.c for details. 421.21Ssommerfe 431.21SsommerfeSUN_MAGIC_HEADER='\01\03\01\07\060\200\0\07\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0' 441.21Ssommerfe 451.17Spkboot.net: boot.${RELOC_DEFAULT} 461.21Ssommerfe (printf ${SUN_MAGIC_HEADER}; cat ${.ALLSRC} ) > ${.TARGET} 471.31Smartin 481.42Schristos 491.42Schristos.include "${S}/conf/newvers_stand.mk" 501.42Schristos 511.42Schristos.include <bsd.prog.mk> 521.42Schristos 531.32Smartinbootjs.net: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 541.39Smartin ${LD} -S -o ${.TARGET} ${LINKFLAGS} -Ttext 300000 ${OBJS} \ 551.31Smartin ${LIBSA} ${LIBZ} ${LIBKERN} 561.31Smartin ${SIZE} ${.TARGET} 571.38SmrgCLEANFILES+= bootjs.net.map 581.1Spk 591.41Schristos.for RELOC in ${RELOCS} 601.41Schristosboot.${RELOC}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 611.41Schristos ${LD} -S -o ${.TARGET}.tmp ${LINKFLAGS} -Ttext ${RELOC} ${OBJS} \ 621.41Schristos ${LIBSA} ${LIBZ} ${LIBKERN} 631.41Schristos ${SIZE} ${.TARGET}.tmp 641.41Schristos ${OBJCOPY} -O binary ${.TARGET}.tmp ${.TARGET} 651.41Schristos rm -f ${.TARGET}.tmp 661.41SchristosCLEANFILES+= boot.${RELOC}.map 671.41Schristos.endfor 68