1#	$NetBSD: Makefile,v 1.18 2021/06/15 17:17:57 tsutsui Exp $
2#	@(#)Makefile	8.2 (Berkeley) 8/15/93
3
4NOMAN= # defined
5NOPIE= # defined
6
7.include <bsd.own.mk>
8
9S= ${.CURDIR}/../../../..
10LIBSADIR=	${S}/lib/libsa
11
12CPPFLAGS+=	-nostdinc -D_STANDALONE
13CPPFLAGS+=	-I${.CURDIR} -I${.OBJDIR} -I${S} -I${S}/arch
14
15CPPFLAGS+=	-DSUPPORT_DISK
16#CPPFLAGS+=	-DSUPPORT_TAPE
17CPPFLAGS+=	-DSUPPORT_ETHERNET
18CPPFLAGS+=	-DSUPPORT_DHCP -DSUPPORT_BOOTP
19#CPPFLAGS+=	-DBOOTP_DEBUG -DNETIF_DEBUG -DETHER_DEBUG -DNFS_DEBUG
20#CPPFLAGS+=	-DRPC_DEBUG -DRARP_DEBUG -DNET_DEBUG -DDEBUG -DPARANOID
21CPPFLAGS+=	-DLIBSA_ENABLE_LS_OP
22CPPFLAGS+=	-DLIBSA_PRINTF_WIDTH_SUPPORT
23CPPFLAGS+=	-DLIBSA_CREAD_NOCRC
24
25CFLAGS=		-Os -fno-unwind-tables -msoft-float
26CFLAGS+=	-ffreestanding
27CFLAGS+=	-Wall -Werror
28CFLAGS+=	-Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
29CFLAGS+=	-Wno-pointer-sign
30
31TEXTADDR=	700000
32LDSCRIPT=	${.CURDIR}/boot.ldscript
33LINKFORMAT=	-static -N -Ttext ${TEXTADDR} -T ${LDSCRIPT}
34
35ELF2AOUT_OPTS=	-O	# LUNA's firmware requires OMAGIC a.out
36
37SRCS=	locore.S
38SRCS+=	init_main.c autoconf.c
39SRCS+=	trap.c
40SRCS+=	devopen.c
41SRCS+=	conf.c
42SRCS+=	machdep.c
43SRCS+=	getline.c parse.c
44SRCS+=	boot.c
45SRCS+=	cons.c prf.c awaitkey.c
46SRCS+=	romcons.c
47SRCS+=	sio.c
48SRCS+=	bmc.c bmd.c screen.c font.c kbd.c
49SRCS+=	scsi.c sc.c sd.c
50#SRCS+=	st.c tape.c
51SRCS+=	disklabel.c
52#SRCS+=	fsdump.c
53SRCS+=	ufs_disksubr.c
54SRCS+=	ls.c
55
56# netboot support
57SRCS+=	if_le.c lance.c getsecs.c
58.PATH: ${LIBSADIR}
59SRCS+=	dev_net.c
60
61PROG=   boot
62
63NEWVERSWHAT=	"${PROG}"
64
65### find out what to use for libkern
66KERN_AS=	library
67.include "${S}/lib/libkern/Makefile.inc"
68
69### find out what to use for libz
70Z_AS=		library
71.include "${S}/lib/libz/Makefile.inc"
72
73### find out what to use for libsa
74SA_AS=		library
75SAMISCMAKEFLAGS+=SA_USE_LOADFILE=yes SA_USE_CREAD=yes SA_ENABLE_LS_OP=yes
76.include "${S}/lib/libsa/Makefile.inc"
77
78LIBS=	${SALIB} ${ZLIB} ${KERNLIB}
79
80.include "${S}/conf/newvers_stand.mk"
81
82${PROG}: ${LDSCRIPT} ${OBJS} ${LIBS}
83	${_MKTARGET_LINK}
84	${LD} ${LINKFORMAT} -x -o ${PROG}.elf ${OBJS} ${LIBS}
85	${M68K_ELF2AOUT} ${ELF2AOUT_OPTS} ${PROG}.elf ${PROG}.aout
86	mv ${PROG}.aout ${PROG}
87
88CLEANFILES+=	${PROG}.aout ${PROG}.elf
89
90cleandir distclean: .WAIT cleanlibdir
91
92cleanlibdir:
93	-rm -rf lib
94
95.include <bsd.klinks.mk>
96.include <bsd.prog.mk>
97