Makefile revision 1.3
1#	$NetBSD: Makefile,v 1.3 2001/09/22 03:34:20 tv Exp $
2
3CURDIR=	${.CURDIR}
4S=	${CURDIR}/../../../..
5
6#
7# Override normal settings
8#
9
10WARNS=		0
11
12PROG?=		ofwboot
13SRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
14.PATH:		${S}/arch/sparc64/sparc64
15
16CWARNFLAGS+=	-Wno-main
17CFLAGS+=	${COPTS} ${CEXTRAFLAGS}
18CPPFLAGS+=	-D_STANDALONE -DSUN4U
19#CPPFLAGS+=	-DNETIF_DEBUG 
20
21MKMAN=		no
22STRIPFLAG=
23BINMODE=	444
24
25NEWVERSWHAT=	"OpenFirmware Boot"
26
27#
28# Elf64 defaults to 1MB
29#
30# We may get address conflicts with other bootloaders, say
31# Sun's ufsboot, so we'll pick a reasonably empty address.
32#
33RELOC=		800000
34
35ENTRY=		_start
36
37CLEANFILES+=	vers.c sparc machine
38
39CPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
40CPPFLAGS+=	-DRELOC=0x${RELOC}
41
42#
43# XXXXX FIXME
44#
45CPPFLAGS+=	-DSPARC_BOOT_AOUT
46CPPFLAGS+=	-DSPARC_BOOT_ELF
47CPPFLAGS+=	-DSPARC_BOOT_UFS
48CPPFLAGS+=	-DSPARC_BOOT_NFS
49#CPPFLAGS+=	-DSPARC_BOOT_HSFS
50
51### find out what to use for libkern
52KERN_AS=	library
53.include "${S}/lib/libkern/Makefile.inc"
54LIBKERN=	${KERNLIB}
55
56### find out what to use for libz
57Z_AS=		library
58.include "${S}/lib/libz/Makefile.inc"
59LIBZ=		${ZLIB}
60
61### find out what to use for libsa
62SA_AS=		library
63SAMISCMAKEFLAGS= SA_USE_CREAD=yes
64.include "${S}/lib/libsa/Makefile.inc"
65LIBSA=		${SALIB}
66
67.NOPATH: machine sparc64
68${SRCS}: machine sparc64
69
70machine:
71	rm -f machine
72	ln -s sparc64 machine
73
74sparc64:
75	rm -f sparc64
76	ln -s ${.CURDIR}/../../../sparc64/include sparc64
77
78vers.c: version
79	sh ${S}/conf/newvers_stand.sh ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
80
81.if CROSS
82${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
83	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
84	    ${OBJS} -L${SADST} -lsa -L${ZDST} -lz -L${KERNDST} -lkern # solaris linker
85.else
86${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
87	${LD} -X -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} \
88	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}	# native linker
89.endif
90
91.include <bsd.prog.mk>
92
93.if ${MACHINE_ARCH} == "sparc64"
94AFLAGS+=		-Wa,-Av9a
95CEXTRAFLAGS?=		-D_LP64
96.else
97AFLAGS+=		-Wa,-Av8plusa
98.endif
99
100.if CROSS
101AFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__
102CEXTRAFLAGS?=		-D_LP64
103.else
104AFLAGS+=		-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__ ${CEXTRAFLAGS}
105.endif
106
107NORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
108srt0.o: srt0.s
109	${NORMAL_S}
110
111# Explicit dependency for this.
112boot.o: boot.c elfXX_exec.c
113