xref: /netbsd-src/sys/arch/arc/stand/boot/Makefile (revision 82c75a3952ee8d77d8eeaff5b3b607998363b696)
1*82c75a39Srin# $NetBSD: Makefile,v 1.19 2024/06/29 08:02:06 rin Exp $
2b28c4afbStsutsui
3a0990949Schristos.include <bsd.init.mk>
4b28c4afbStsutsui
5b28c4afbStsutsuiS!= cd ${.CURDIR}/../../../..; pwd
6b28c4afbStsutsui
7b28c4afbStsutsuiPROG= boot
8b28c4afbStsutsuiMKMAN= no		# defined
9b28c4afbStsutsuiSTRIPFLAG=
10b28c4afbStsutsuiBINMODE= 444
11b28c4afbStsutsui
12b28c4afbStsutsuiNETBSD_VERS!=	${HOST_SH} ${S}/conf/osrelease.sh
13b28c4afbStsutsui
147641af97Smatt.PATH:		${S}/dev/arcbios
157641af97Smatt
167641af97SmattSRCS=	start.S arcbios_calls.S
17*82c75a39SrinSRCS+=	boot.c bootinfo.c conf.c devopen.c disk.c getchar.c putchar.c
18b28c4afbStsutsui
197641af97Smatt.include "${S}/dev/arcbios/Makefile.inc"
207641af97Smatt
21b28c4afbStsutsui# XXX SHOULD NOT NEED TO DEFINE THESE!
22b28c4afbStsutsuiLIBCRT0=
238c436a98StsutsuiLIBCRTI=
24b28c4afbStsutsuiLIBC=
25b28c4afbStsutsuiLIBCRTBEGIN=
26b28c4afbStsutsuiLIBCRTEND=
27b28c4afbStsutsui
283851ca3cSmrgAFLAGS=    -x assembler-with-cpp -mno-abicalls -mips2 -mabi=32
29b28c4afbStsutsuiAFLAGS+=   -D_LOCORE -D_KERNEL
30b28c4afbStsutsuiCFLAGS=    -Os -mmemcpy -G 1024
317641af97SmattCFLAGS+=   -ffreestanding -mno-abicalls -msoft-float -mips2 -mabi=32
32b28c4afbStsutsuiCFLAGS+=   -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
337ecca3caStsutsuiCPPFLAGS+= -nostdinc -I. -I${S}
34b28c4afbStsutsuiCPPFLAGS+= -D_STANDALONE -DNO_ABICALLS -D${MACHINE}
35b28c4afbStsutsuiCPPFLAGS+= -DNETBSD_VERS='"${NETBSD_VERS}"'
36b28c4afbStsutsui#CPPFLAGS+= -DBOOT_DEBUG
37b28c4afbStsutsuiLDSCRIPT=  ${S}/arch/mips/conf/stand.ldscript
38b28c4afbStsutsuiTEXTADDR=  0x80f00000
393851ca3cSmrgLD+=		-m elf32ltsmip
40b28c4afbStsutsui
41b28c4afbStsutsui### find out what to use for libsa
42b28c4afbStsutsuiSAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
43b28c4afbStsutsui.include "${S}/lib/libsa/Makefile.inc"
44b28c4afbStsutsuiLIBSA=   ${SALIB}
45b28c4afbStsutsui
46b28c4afbStsutsui### find out what to use for libkern
47b28c4afbStsutsui.include "${S}/lib/libkern/Makefile.inc"
48b28c4afbStsutsuiLIBKERN= ${KERNLIB}
49b28c4afbStsutsui
50b28c4afbStsutsui### find out what to use for libz
51b28c4afbStsutsui.include "${S}/lib/libz/Makefile.inc"
52b28c4afbStsutsuiLIBZ=    ${ZLIB}
53b28c4afbStsutsui
54b28c4afbStsutsuiLIBS=  ${LIBSA} ${LIBKERN} ${LIBZ}
55b28c4afbStsutsui
565ef6a33bSdhollandcleandir distclean: .WAIT cleanlibdir
57b28c4afbStsutsuicleanlibdir:
58b28c4afbStsutsui	-rm -rf lib
59b28c4afbStsutsui
60b28c4afbStsutsui${PROG}: ${OBJS} ${LIBS}
61b28c4afbStsutsui	${LD} -Map ${PROG}.map -N -x -Ttext ${TEXTADDR} -T ${LDSCRIPT} \
62b28c4afbStsutsui	    -e start -o ${PROG}.elf ${OBJS} ${LIBS}
63b28c4afbStsutsui	@${SIZE} ${PROG}.elf
64b28c4afbStsutsui	${OBJCOPY} --impure -O ecoff-littlemips \
65ab4026b5Stsutsui	    -R .pdr -R .mdebug.abi32 -R .comment -R .ident --strip-debug \
66b28c4afbStsutsui	    ${PROG}.elf ${.TARGET}
67b28c4afbStsutsui
68b28c4afbStsutsuiCLEANFILES+=	${PROG}.elf ${PROG}.map
69b28c4afbStsutsui
70cb5e99c6Schristos.include "${S}/conf/newvers_stand.mk"
71cb5e99c6Schristos
72b5ab529dStsutsui.include <bsd.klinks.mk>
73b28c4afbStsutsui.include <bsd.prog.mk>
74