1#	$OpenBSD: Makefile,v 1.18 2023/03/13 11:59:39 aoyama Exp $
2#	$NetBSD: Makefile,v 1.9 2013/01/22 15:48:40 tsutsui Exp $
3#	@(#)Makefile	8.2 (Berkeley) 8/15/93
4
5MAN?=	boot.8
6MANSUBDIR=luna88k
7
8.if ${MACHINE} == "luna88k"
9PROG=   boot
10INSTALL_STRIP=
11
12S= ${.CURDIR}/../../../..
13
14CPPFLAGS+=	-nostdinc -D_STANDALONE
15CPPFLAGS+=	-I${.CURDIR} -I${.OBJDIR} -I${S} -I${S}/arch
16
17CPPFLAGS+=	-DSUPPORT_DISK
18CPPFLAGS+=	-DSUPPORT_ETHERNET
19CPPFLAGS+=	-DSUPPORT_BOOTP
20#CPPFLAGS+=	-DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG
21#CPPFLAGS+=	-DRPC_DEBUG -DRARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID
22
23OBJCOPY?=	objcopy
24TEXTADDR=	0x700000	# 7MB
25LDSCRIPT=	${.CURDIR}/boot.ldscript
26LINKFORMAT=	-static -N -Ttext ${TEXTADDR} -T ${LDSCRIPT} \
27		--warn-common -nopie -znorelro
28
29SRCS=	locore.S
30SRCS+=	init_main.c
31SRCS+=	fault.c setjmp.S
32SRCS+=	devopen.c
33SRCS+=	conf.c
34SRCS+=	exec.c
35SRCS+=	sio.c
36SRCS+=	bmc.c bmd.c font.c kbd.c
37SRCS+=	sc.c sd.c
38SRCS+=	ufs_disksubr.c
39SRCS+=	cmd_luna88k.c
40SRCS+=	logo.c
41
42# netboot support
43SRCS+=	if_le.c lance.c getsecs.c
44SRCS+=	dev_net.c
45
46### find out what to use for libkern
47.PATH:	${S}/lib/libkern
48SRCS+=	memcpy.c memmove.c strlcat.c strlcpy.c strlen.c
49SRCS+=	muldi3.c negdi2.c ashldi3.c ashrdi3.c moddi3.c
50
51### find out what to use for libsa
52.PATH:	${S}/lib/libsa
53SRCS+=	arc4.c ctime.c hexdump.c strtol.c strtoll.c
54
55### MI boot code
56.PATH:	${S}/stand/boot
57SRCS+=	boot.c cmd.c vars.c
58
59SAREL=
60SADST=	${.CURDIR}/${__objdir}
61USE_LOADFILE=	yes
62.include "${S}/lib/libsa/Makefile.inc"
63
64LIBS=	${SALIB} ${ZLIB} ${KERNLIB}
65
66${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
67	${LD} ${LINKFORMAT} -x -o ${PROG}.elf ${OBJS} ${LIBS}
68	${OBJCOPY} -S -O a.out-m88k-openbsd --impure ${PROG}.elf ${PROG}
69
70CLEANFILES+=	${PROG}.elf
71
72.if !make(clean) && !make(cleandir) && !make(includes) && !make(obj)
73.BEGIN:
74	@([ -h machine ] || ln -s ${.CURDIR}/../../include machine)
75	@([ -h m88k ] || ln -s ${.CURDIR}/../../../m88k/include m88k)
76.endif
77
78.else
79NOPROG=
80.endif
81
82.include <bsd.prog.mk>
83