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