Home | History | Annotate | Line # | Download | only in boot
Makefile revision 1.38.30.2
      1 #	$NetBSD: Makefile,v 1.38.30.2 2017/08/28 17:51:52 skrll Exp $
      2 
      3 STRIPFLAG=
      4 PROGSOURCE=	boot.c net.c netif_sun.c conf.c openfirm.c bootinfo.c \
      5 		mmu.c prompatch.c
      6 NEWVERSWHAT=	"Secondary Boot"
      7 FILES=		boot.net bootjs.net ${RELOCS:S/^/boot./g}
      8 CLEANFILES:=	${FILES}
      9 LINKS=		${BINDIR}/boot.${RELOC_DEFAULT} ${BINDIR}/boot
     10 
     11 CPPFLAGS+=	-DBOOT_AOUT -DBOOT_ELF32 -DSUPPORT_DHCP
     12 CFLAGS+=	-freestanding
     13 
     14 INCLUDE_LIBZ=	yes
     15 SAMISCMAKEFLAGS= SA_USE_CREAD=yes
     16 
     17 .include "../Makefile.buildboot"
     18 
     19 .if ${MACHINE} == sparc64
     20 CFLAGS+=	-m32
     21 LDFLAGS+=	-m elf32_sparc
     22 AFLAGS+=	-Wa,-32
     23 .endif
     24 
     25 .include <bsd.own.mk>
     26 
     27 OBJS=${SRCS:N*.h:N*.sh:N*.fth:R:S/$/.o/g}
     28 
     29 LINKFLAGS=-N -e start -Map $@.map
     30 
     31 .MAIN: all
     32 realall: ${FILES}
     33 
     34 
     35 # conjure up a magic header that is accepted by all Sun PROMS;
     36 # see installboot.c for details.
     37 
     38 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 
     40 boot.net: boot.${RELOC_DEFAULT}
     41 	(printf ${SUN_MAGIC_HEADER}; cat ${.ALLSRC} ) > ${.TARGET}
     42 
     43 
     44 .include "${S}/conf/newvers_stand.mk"
     45 
     46 .include <bsd.prog.mk>
     47 
     48 bootjs.net: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
     49 	${LD} -S -o ${.TARGET} ${LINKFLAGS} -Ttext 300000 ${OBJS} \
     50 	    ${LIBSA} ${LIBZ} ${LIBKERN}
     51 	${SIZE} ${.TARGET}
     52 CLEANFILES+=	bootjs.net.map
     53 
     54 .for RELOC in ${RELOCS}
     55 boot.${RELOC}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
     56 	${LD} -S -o ${.TARGET}.tmp ${LINKFLAGS} -Ttext ${RELOC} ${OBJS} \
     57 	    ${LIBSA} ${LIBZ} ${LIBKERN}
     58 	${SIZE} ${.TARGET}.tmp
     59 	${OBJCOPY} -O binary ${.TARGET}.tmp ${.TARGET}
     60 	rm -f ${.TARGET}.tmp
     61 CLEANFILES+=	boot.${RELOC}.map
     62 .endfor
     63