xref: /openbsd/sys/arch/sparc64/stand/ofwboot/Makefile (revision db3296cf)
1#	$OpenBSD: Makefile,v 1.7 2003/06/10 02:42:58 brad Exp $
2#	$NetBSD: Makefile,v 1.2 2001/03/04 14:50:05 mrg Exp $
3
4CURDIR=	${.CURDIR}
5S=	${CURDIR}/../../../..
6
7#
8# Override normal settings
9#
10
11WARNS=		0
12
13PROG?=		ofwboot
14NOMAN=		ja, man!
15SRCS=		srt0.s Locore.c boot.c ofdev.c alloc.c net.c netif_of.c vers.c
16.PATH:		${S}/arch/sparc64/sparc64
17
18CWARNFLAGS+=	-Wno-main
19AFLAGS+=	-Wa,-Av9a
20AFLAGS+=	-x assembler-with-cpp -traditional-cpp -D_LOCORE -D__ELF__
21CFLAGS+=	${COPTS}
22CPPFLAGS+=	-D_STANDALONE -DSUN4U -nostdinc
23#CPPFLAGS+=	-DNETIF_DEBUG
24
25BINMODE=	444
26
27NEWVERSWHAT=	"OpenFirmware Boot"
28
29#
30# ELF64 defaults to 1MB
31#
32# We may get address conflicts with other bootloaders, say
33# Sun's ufsboot, so we'll pick a reasonably empty address.
34#
35RELOC=		800000
36
37ENTRY=		_start
38
39CLEANFILES+=	vers.c sparc machine
40
41CPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
42CPPFLAGS+=	-DRELOC=0x${RELOC}
43
44#
45# XXXXX FIXME
46#
47CPPFLAGS+=	-DSPARC_BOOT_ELF
48CPPFLAGS+=	-DSPARC_BOOT_UFS
49CPPFLAGS+=	-DSPARC_BOOT_NFS
50#CPPFLAGS+=	-DSPARC_BOOT_HSFS
51
52.if !make(libdep) && !make(sadep) && !make(salibdir) && !make(kernlibdir) && !make(obj)
53.BEGIN:
54	@([ -h machine ] || ln -s ${.CURDIR}/../../include machine)
55.endif
56
57vers.c: version
58	sh ${S}/conf/newvers.sh ${CURDIR}/version "sparc64" ${NEWVERSWHAT}
59
60${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
61	${LD} -N -p -Ttext ${RELOC} -e ${ENTRY} >lderr -o ${PROG} \
62	    ${OBJS} -L${LIBSADIR} ${LIBSA} -L${LIBKERNDIR} ${LIBKERN} \
63	    -L${LIBZDIR} ${LIBZ}
64
65NORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
66srt0.o: srt0.s
67	${NORMAL_S}
68
69# Explicit dependency for this.
70boot.o: boot.c elfXX_exec.c
71
72.include <bsd.prog.mk>
73