Home | History | Annotate | Line # | Download | only in boot
      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