1 1.46 lukem # $NetBSD: Makefile,v 1.46 2023/06/03 21:26:28 lukem Exp $ 2 1.1 pk 3 1.12 christos STRIPFLAG= 4 1.24 uwe PROGSOURCE= boot.c net.c netif_sun.c conf.c openfirm.c bootinfo.c \ 5 1.40 christos mmu.c prompatch.c 6 1.5 mrg NEWVERSWHAT= "Secondary Boot" 7 1.32 martin FILES= boot.net bootjs.net ${RELOCS:S/^/boot./g} 8 1.40 christos CLEANFILES:= ${FILES} 9 1.17 pk LINKS= ${BINDIR}/boot.${RELOC_DEFAULT} ${BINDIR}/boot 10 1.27 thorpej 11 1.33 martin CPPFLAGS+= -DBOOT_AOUT -DBOOT_ELF32 -DSUPPORT_DHCP 12 1.29 mrg CFLAGS+= -freestanding 13 1.1 pk 14 1.5 mrg INCLUDE_LIBZ= yes 15 1.5 mrg SAMISCMAKEFLAGS= SA_USE_CREAD=yes 16 1.5 mrg 17 1.43 rin # Follow the suit of Makefile.kern.inc; needed for the lfs64 union 18 1.43 rin # accessors -- they don't actually dereference the resulting pointer, 19 1.43 rin # just use it for type-checking. 20 1.46 lukem CWARNFLAGS+= ${CC_WNO_ADDRESS_OF_PACKED_MEMBER} 21 1.43 rin 22 1.5 mrg .include "../Makefile.buildboot" 23 1.25 mrg 24 1.36 nakayama .if ${MACHINE} == sparc64 25 1.25 mrg CFLAGS+= -m32 26 1.25 mrg LDFLAGS+= -m elf32_sparc 27 1.25 mrg AFLAGS+= -Wa,-32 28 1.25 mrg .endif 29 1.7 pk 30 1.17 pk .include <bsd.own.mk> 31 1.12 christos 32 1.17 pk OBJS=${SRCS:N*.h:N*.sh:N*.fth:R:S/$/.o/g} 33 1.15 sommerfe 34 1.38 mrg LINKFLAGS=-N -e start -Map $@.map 35 1.12 christos 36 1.17 pk .MAIN: all 37 1.20 mycroft realall: ${FILES} 38 1.5 mrg 39 1.24 uwe 40 1.12 christos # conjure up a magic header that is accepted by all Sun PROMS; 41 1.12 christos # see installboot.c for details. 42 1.21 sommerfe 43 1.21 sommerfe SUN_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' 44 1.21 sommerfe 45 1.17 pk boot.net: boot.${RELOC_DEFAULT} 46 1.21 sommerfe (printf ${SUN_MAGIC_HEADER}; cat ${.ALLSRC} ) > ${.TARGET} 47 1.31 martin 48 1.42 christos 49 1.42 christos .include "${S}/conf/newvers_stand.mk" 50 1.42 christos 51 1.42 christos .include <bsd.prog.mk> 52 1.42 christos 53 1.32 martin bootjs.net: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 54 1.39 martin ${LD} -S -o ${.TARGET} ${LINKFLAGS} -Ttext 300000 ${OBJS} \ 55 1.31 martin ${LIBSA} ${LIBZ} ${LIBKERN} 56 1.31 martin ${SIZE} ${.TARGET} 57 1.38 mrg CLEANFILES+= bootjs.net.map 58 1.1 pk 59 1.41 christos .for RELOC in ${RELOCS} 60 1.41 christos boot.${RELOC}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 61 1.41 christos ${LD} -S -o ${.TARGET}.tmp ${LINKFLAGS} -Ttext ${RELOC} ${OBJS} \ 62 1.41 christos ${LIBSA} ${LIBZ} ${LIBKERN} 63 1.41 christos ${SIZE} ${.TARGET}.tmp 64 1.41 christos ${OBJCOPY} -O binary ${.TARGET}.tmp ${.TARGET} 65 1.41 christos rm -f ${.TARGET}.tmp 66 1.41 christos CLEANFILES+= boot.${RELOC}.map 67 1.41 christos .endfor 68