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