1240116Smarcel#	$NetBSD: Makefile,v 1.5 2017/04/08 19:53:21 christos Exp $
2240116Smarcel
3240116SmarcelNOMAN=		# defined
4240116Smarcel
5240116Smarcel.include <bsd.own.mk>
6240116Smarcel
7240116SmarcelS=		${.CURDIR}/../../../..
8240116Smarcel
9240116SmarcelBINMODE=	444
10240116Smarcel
11240116SmarcelPROG=		boot
12240116SmarcelSRCS=		entry.S
13240116SmarcelSRCS+=		boot.c bootinfo.c clock.c conf.c cons.c devopen.c prf.c tgets.c
14240116SmarcelSRCS+=		com.c scif.c wd.c wdc.c
15240116Smarcel
16240116SmarcelCLEANFILES+=	${PROG}
17240116Smarcel
18240116Smarcel#MMEYE_CPU=	SH3
19240116SmarcelMMEYE_CPU=	SH4
20240116Smarcel
21240116Smarcel.if ${MMEYE_CPU} == "SH3"
22240116SmarcelAFLAGS+=	-DSH3
23240116SmarcelCPPFLAGS+=	-DSH3
24240116SmarcelCPPFLAGS+=	-DCONS_COM
25240116SmarcelRELOC=		8c800000
26240116Smarcel.endif
27240116Smarcel.if ${MMEYE_CPU} == "SH4"
28240116SmarcelCLEANFILES+=	${PROG}.bin ${PROG}.bin.gz
29240116SmarcelAFLAGS+=	-DSH4
30240116SmarcelCPPFLAGS+=	-DSH4
31240116SmarcelCPPFLAGS+=	-DCONS_SCIF
32240116SmarcelRELOC=		89000000
33240116Smarcel.endif
34240116Smarcel
35240116Smarcel
36240116SmarcelAFLAGS+=	-D_LOCORE -D_KERNEL
37240116SmarcelCFLAGS+=	-ffreestanding
38240116SmarcelCFLAGS+=	-Wall -Werror -Wno-main
39240116SmarcelCFLAGS+=	-Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith
40240116SmarcelCFLAGS+=	-Wno-pointer-sign
41240116SmarcelCPPFLAGS+=	-nostdinc -D_STANDALONE -I. -I${.OBJDIR} -I${S}
42240116SmarcelDBG=		-Os
43240116Smarcel
44240116SmarcelNETBSD_VERS!=	${HOST_SH} ${S}/conf/osrelease.sh
45240116SmarcelCPPFLAGS+=	-DNETBSD_VERS='"${NETBSD_VERS}"'
46240116Smarcel
47240116Smarcel# XXX SHOULD NOT NEED TO DEFINE THESE!
48240116SmarcelLIBCRT0=
49240116SmarcelLIBCRTI=
50240116SmarcelLIBC=
51240116SmarcelLIBCRTBEGIN=
52240116SmarcelLIBCRTEND=
53240116Smarcel
54240116SmarcelSTRIPFLAG=
55240116Smarcel
56240116SmarcelENTRY=		start
57240116Smarcel
58240116Smarcel
59240116Smarcel### find out what to use for libkern
60240116SmarcelKERN_AS=	library
61240116Smarcel.include "${S}/lib/libkern/Makefile.inc"
62240116SmarcelLIBKERN=	${KERNLIB}
63240116Smarcel
64240116Smarcel### find out what to use for libz
65240116SmarcelZ_AS=		library
66240116Smarcel.include "${S}/lib/libz/Makefile.inc"
67240116SmarcelLIBZ=		${ZLIB}
68240116Smarcel
69240116Smarcel### find out what to use for libsa
70240116SmarcelSA_AS=		library
71240116SmarcelSAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
72240116Smarcel.include "${S}/lib/libsa/Makefile.inc"
73240116SmarcelLIBSA=		${SALIB}
74240116Smarcel
75240116Smarcel
76240116Smarcel${PROG}: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
77240116Smarcel	${LD} -N -Ttext ${RELOC} -Bstatic -e ${ENTRY} -o ${PROG} \
78240116Smarcel	    ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
79240116Smarcel.if ${MMEYE_CPU} == "SH4"
80240116Smarcel	${OBJCOPY} -S -O binary ${.TARGET} ${.TARGET}.bin
81240116Smarcel	TOOL_AWK=${TOOL_AWK} TOOL_HEXDUMP=${TOOL_HEXDUMP} \
82240116Smarcel	    ${HOST_SH} $(.CURDIR)/deflate.sh ${.TARGET}.bin
83240116Smarcel.endif
84240116Smarcel
85240116Smarcel.include "${S}/conf/newvers_stand.mk"
86240116Smarcel
87240116Smarcelcleandir distclean: .WAIT cleanlibdir
88240116Smarcel
89240116Smarcelcleanlibdir:
90240116Smarcel	-rm -rf lib
91240116Smarcel
92240116Smarcel.include <bsd.prog.mk>
93240116Smarcel.include <bsd.klinks.mk>
94240116Smarcel