1#	$OpenBSD: Makefile,v 1.28 2024/01/28 01:07:26 deraadt 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!
15
16.if ${PROG} == "ofwboot"
17SOFTRAID?=	yes
18.else
19SOFTRAID?=	no
20.endif
21
22.PATH:		${S}/arch/sparc64/sparc64
23.PATH:		${S}/lib/libsa
24SRCS=		srt0.s Locore.c alloc.c boot.c elf64_exec.c arc4.c \
25		net.c netif_of.c ofdev.c vers.c
26.if ${SOFTRAID:L} == "yes"
27SRCS+=		diskprobe.c softraid_sparc64.c
28.endif
29
30.PATH:		${S}/lib/libkern/arch/sparc64 ${S}/lib/libkern
31SRCS+=		strlcpy.c strcmp.c strlcat.c strlen.c ffs.S
32
33.if ${SOFTRAID:L} == "yes"
34SRCS+=		aes_xts.c bcrypt_pbkdf.c blowfish.c explicit_bzero.c \
35		hmac_sha1.c pkcs5_pbkdf2.c rijndael.c sha1.c sha2.c softraid.c
36.endif
37
38CWARNFLAGS+=	-Wno-main
39AFLAGS+=	-Wa,-Av9a
40AFLAGS+=	-x assembler-with-cpp -D_LOCORE -D__ELF__ -fno-pie 
41CFLAGS+=	${COPTS} -fno-pie -fno-stack-protector
42CPPFLAGS+=	-D_STANDALONE -DSUN4U -nostdinc
43#CPPFLAGS+=	-DNETIF_DEBUG 
44
45BINMODE=	444
46
47NEWVERSWHAT=	"OpenFirmware Boot"
48
49#
50# ELF64 defaults to 1MB
51#
52RELOC=		100000
53
54ENTRY=		_start
55
56CLEANFILES+=	sparc machine
57
58CPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
59CPPFLAGS+=	-DRELOC=0x${RELOC}
60
61#
62# XXXXX FIXME
63#
64CPPFLAGS+=	-DSPARC_BOOT_UFS
65#CPPFLAGS+=	-DSPARC_BOOT_HSFS
66.if ${SOFTRAID:L} == "yes"
67CPPFLAGS+=	-DSOFTRAID
68.endif
69
70.if !make(clean) && !make(cleandir) && !make(includes) && !make(libdep) && \
71    !make(sadep) && !make(salibdir) && !make(obj)
72.BEGIN:
73	@([ -h machine ] || ln -s ${.CURDIR}/../../include machine)
74.endif
75
76${PROG}: ${OBJS} ${LIBSA} ${LIBZ}
77	${LD} -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} -nopie -znorelro \
78	    ${OBJS} -L${LIBSADIR} ${LIBSA} \
79	    -L${LIBZDIR} ${LIBZ}
80
81NORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
82srt0.o: srt0.s
83	${NORMAL_S}
84
85.include <bsd.prog.mk>
86