1 1.44 mrg # $NetBSD: Makefile,v 1.44 2020/09/06 07:20:29 mrg 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.43 rin CWARNFLAGS.clang+= -Wno-error=address-of-packed-member 21 1.44 mrg CWARNFLAGS.gcc+= ${GCC_NO_ADDR_OF_PACKED_MEMBER} 22 1.43 rin 23 1.5 mrg .include "../Makefile.buildboot" 24 1.25 mrg 25 1.36 nakayama .if ${MACHINE} == sparc64 26 1.25 mrg CFLAGS+= -m32 27 1.25 mrg LDFLAGS+= -m elf32_sparc 28 1.25 mrg AFLAGS+= -Wa,-32 29 1.25 mrg .endif 30 1.7 pk 31 1.17 pk .include <bsd.own.mk> 32 1.12 christos 33 1.17 pk OBJS=${SRCS:N*.h:N*.sh:N*.fth:R:S/$/.o/g} 34 1.15 sommerfe 35 1.38 mrg LINKFLAGS=-N -e start -Map $@.map 36 1.12 christos 37 1.17 pk .MAIN: all 38 1.20 mycroft realall: ${FILES} 39 1.5 mrg 40 1.24 uwe 41 1.12 christos # conjure up a magic header that is accepted by all Sun PROMS; 42 1.12 christos # see installboot.c for details. 43 1.21 sommerfe 44 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' 45 1.21 sommerfe 46 1.17 pk boot.net: boot.${RELOC_DEFAULT} 47 1.21 sommerfe (printf ${SUN_MAGIC_HEADER}; cat ${.ALLSRC} ) > ${.TARGET} 48 1.31 martin 49 1.42 christos 50 1.42 christos .include "${S}/conf/newvers_stand.mk" 51 1.42 christos 52 1.42 christos .include <bsd.prog.mk> 53 1.42 christos 54 1.32 martin bootjs.net: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 55 1.39 martin ${LD} -S -o ${.TARGET} ${LINKFLAGS} -Ttext 300000 ${OBJS} \ 56 1.31 martin ${LIBSA} ${LIBZ} ${LIBKERN} 57 1.31 martin ${SIZE} ${.TARGET} 58 1.38 mrg CLEANFILES+= bootjs.net.map 59 1.1 pk 60 1.41 christos .for RELOC in ${RELOCS} 61 1.41 christos boot.${RELOC}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN} 62 1.41 christos ${LD} -S -o ${.TARGET}.tmp ${LINKFLAGS} -Ttext ${RELOC} ${OBJS} \ 63 1.41 christos ${LIBSA} ${LIBZ} ${LIBKERN} 64 1.41 christos ${SIZE} ${.TARGET}.tmp 65 1.41 christos ${OBJCOPY} -O binary ${.TARGET}.tmp ${.TARGET} 66 1.41 christos rm -f ${.TARGET}.tmp 67 1.41 christos CLEANFILES+= boot.${RELOC}.map 68 1.41 christos .endfor 69