xref: /openbsd/sys/arch/sparc64/stand/ofwboot/Makefile (revision 71e7d8aa)
1*71e7d8aaSderaadt#	$OpenBSD: Makefile,v 1.28 2024/01/28 01:07:26 deraadt Exp $
2284a978eSjason#	$NetBSD: Makefile,v 1.2 2001/03/04 14:50:05 mrg Exp $
3284a978eSjason
4284a978eSjasonCURDIR=	${.CURDIR}
5284a978eSjasonS=	${CURDIR}/../../../..
6284a978eSjason
7284a978eSjason#
8284a978eSjason# Override normal settings
9284a978eSjason#
10284a978eSjason
11284a978eSjasonWARNS=		0
12284a978eSjason
13284a978eSjasonPROG?=		ofwboot
14222c2913SartNOMAN=		ja, man!
154d6af78aSderaadt
1607b9f743Sstsp.if ${PROG} == "ofwboot"
1707b9f743SstspSOFTRAID?=	yes
1807b9f743Sstsp.else
1907b9f743SstspSOFTRAID?=	no
2007b9f743Sstsp.endif
2107b9f743Sstsp
22284a978eSjason.PATH:		${S}/arch/sparc64/sparc64
23f65494e6Sderaadt.PATH:		${S}/lib/libsa
24f65494e6SderaadtSRCS=		srt0.s Locore.c alloc.c boot.c elf64_exec.c arc4.c \
25f65494e6Sderaadt		net.c netif_of.c ofdev.c vers.c
2607b9f743Sstsp.if ${SOFTRAID:L} == "yes"
2765f4a3c7SjsingSRCS+=		diskprobe.c softraid_sparc64.c
2807b9f743Sstsp.endif
294d6af78aSderaadt
304d6af78aSderaadt.PATH:		${S}/lib/libkern/arch/sparc64 ${S}/lib/libkern
316c45f45cSclaudioSRCS+=		strlcpy.c strcmp.c strlcat.c strlen.c ffs.S
32284a978eSjason
3307b9f743Sstsp.if ${SOFTRAID:L} == "yes"
34df1890a2SjsingSRCS+=		aes_xts.c bcrypt_pbkdf.c blowfish.c explicit_bzero.c \
35df1890a2Sjsing		hmac_sha1.c pkcs5_pbkdf2.c rijndael.c sha1.c sha2.c softraid.c
3607b9f743Sstsp.endif
3707b9f743Sstsp
38284a978eSjasonCWARNFLAGS+=	-Wno-main
39214d2105SbradAFLAGS+=	-Wa,-Av9a
408caaa335SpascalAFLAGS+=	-x assembler-with-cpp -D_LOCORE -D__ELF__ -fno-pie
41*71e7d8aaSderaadtCFLAGS+=	${COPTS} -fno-pie -fno-stack-protector
42c39cdda4SartCPPFLAGS+=	-D_STANDALONE -DSUN4U -nostdinc
43284a978eSjason#CPPFLAGS+=	-DNETIF_DEBUG
44284a978eSjason
45284a978eSjasonBINMODE=	444
46284a978eSjason
47284a978eSjasonNEWVERSWHAT=	"OpenFirmware Boot"
48284a978eSjason
49284a978eSjason#
50214d2105Sbrad# ELF64 defaults to 1MB
51284a978eSjason#
520a2bcb3aSkettenisRELOC=		100000
53284a978eSjason
54284a978eSjasonENTRY=		_start
55284a978eSjason
5681973218ShshoexerCLEANFILES+=	sparc machine
57284a978eSjason
58284a978eSjasonCPPFLAGS+=	-I${CURDIR}/../../.. -I${CURDIR}/../../../.. -I${CURDIR} -I.
59284a978eSjasonCPPFLAGS+=	-DRELOC=0x${RELOC}
60284a978eSjason
61284a978eSjason#
62284a978eSjason# XXXXX FIXME
63284a978eSjason#
64284a978eSjasonCPPFLAGS+=	-DSPARC_BOOT_UFS
65284a978eSjason#CPPFLAGS+=	-DSPARC_BOOT_HSFS
6607b9f743Sstsp.if ${SOFTRAID:L} == "yes"
6707b9f743SstspCPPFLAGS+=	-DSOFTRAID
6807b9f743Sstsp.endif
69284a978eSjason
70a83990f4Stb.if !make(clean) && !make(cleandir) && !make(includes) && !make(libdep) && \
71a83990f4Stb    !make(sadep) && !make(salibdir) && !make(obj)
725c2baae7Sjason.BEGIN:
735c2baae7Sjason	@([ -h machine ] || ln -s ${.CURDIR}/../../include machine)
745c2baae7Sjason.endif
75284a978eSjason
764d6af78aSderaadt${PROG}: ${OBJS} ${LIBSA} ${LIBZ}
775a5a41c0Sguenther	${LD} -N -Ttext ${RELOC} -e ${ENTRY} -o ${PROG} -nopie -znorelro \
784d6af78aSderaadt	    ${OBJS} -L${LIBSADIR} ${LIBSA} \
79284a978eSjason	    -L${LIBZDIR} ${LIBZ}
80284a978eSjason
81284a978eSjasonNORMAL_S=	${CC} ${AFLAGS} ${CPPFLAGS} -c $<
82284a978eSjasonsrt0.o: srt0.s
83284a978eSjason	${NORMAL_S}
84284a978eSjason
85214d2105Sbrad.include <bsd.prog.mk>
86