xref: /netbsd-src/sys/arch/arc/stand/boot/Makefile (revision 82c75a3952ee8d77d8eeaff5b3b607998363b696)
1# $NetBSD: Makefile,v 1.19 2024/06/29 08:02:06 rin Exp $
2
3.include <bsd.init.mk>
4
5S!= cd ${.CURDIR}/../../../..; pwd
6
7PROG= boot
8MKMAN= no		# defined
9STRIPFLAG=
10BINMODE= 444
11
12NETBSD_VERS!=	${HOST_SH} ${S}/conf/osrelease.sh
13
14.PATH:		${S}/dev/arcbios
15
16SRCS=	start.S arcbios_calls.S
17SRCS+=	boot.c bootinfo.c conf.c devopen.c disk.c getchar.c putchar.c
18
19.include "${S}/dev/arcbios/Makefile.inc"
20
21# XXX SHOULD NOT NEED TO DEFINE THESE!
22LIBCRT0=
23LIBCRTI=
24LIBC=
25LIBCRTBEGIN=
26LIBCRTEND=
27
28AFLAGS=    -x assembler-with-cpp -mno-abicalls -mips2 -mabi=32
29AFLAGS+=   -D_LOCORE -D_KERNEL
30CFLAGS=    -Os -mmemcpy -G 1024
31CFLAGS+=   -ffreestanding -mno-abicalls -msoft-float -mips2 -mabi=32
32CFLAGS+=   -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith
33CPPFLAGS+= -nostdinc -I. -I${S}
34CPPFLAGS+= -D_STANDALONE -DNO_ABICALLS -D${MACHINE}
35CPPFLAGS+= -DNETBSD_VERS='"${NETBSD_VERS}"'
36#CPPFLAGS+= -DBOOT_DEBUG
37LDSCRIPT=  ${S}/arch/mips/conf/stand.ldscript
38TEXTADDR=  0x80f00000
39LD+=		-m elf32ltsmip
40
41### find out what to use for libsa
42SAMISCMAKEFLAGS= SA_USE_CREAD=yes SA_USE_LOADFILE=yes
43.include "${S}/lib/libsa/Makefile.inc"
44LIBSA=   ${SALIB}
45
46### find out what to use for libkern
47.include "${S}/lib/libkern/Makefile.inc"
48LIBKERN= ${KERNLIB}
49
50### find out what to use for libz
51.include "${S}/lib/libz/Makefile.inc"
52LIBZ=    ${ZLIB}
53
54LIBS=  ${LIBSA} ${LIBKERN} ${LIBZ}
55
56cleandir distclean: .WAIT cleanlibdir
57cleanlibdir:
58	-rm -rf lib
59
60${PROG}: ${OBJS} ${LIBS}
61	${LD} -Map ${PROG}.map -N -x -Ttext ${TEXTADDR} -T ${LDSCRIPT} \
62	    -e start -o ${PROG}.elf ${OBJS} ${LIBS}
63	@${SIZE} ${PROG}.elf
64	${OBJCOPY} --impure -O ecoff-littlemips \
65	    -R .pdr -R .mdebug.abi32 -R .comment -R .ident --strip-debug \
66	    ${PROG}.elf ${.TARGET}
67
68CLEANFILES+=	${PROG}.elf ${PROG}.map
69
70.include "${S}/conf/newvers_stand.mk"
71
72.include <bsd.klinks.mk>
73.include <bsd.prog.mk>
74