xref: /netbsd-src/sys/arch/amd64/stand/prekern/Makefile (revision ec27090fae73a8da90cdcfb6b942a198ea31f261)
1#	$NetBSD: Makefile,v 1.9 2024/06/24 18:00:32 riastradh Exp $
2
3PROG=		prekern
4SRCS=		locore.S trap.S prekern.c mm.c console.c elf.c prng.c
5
6NOSSP=		# defined
7NOPIE=		# defined
8NOLIBCSANITIZER=# defined
9NOSANITIZER=	# defined
10NOMAN=		1
11
12S=	${.CURDIR}/../../../..
13
14.PATH: ${.CURDIR}
15
16BINDIR=		/usr/mdec
17BINMODE=	444
18
19.include <bsd.init.mk>
20
21CPPFLAGS+=	-I. -I${S} -I${.OBJDIR} -I${.CURDIR}
22CPPFLAGS+=	-D_STANDALONE
23
24.include <bsd.klinks.mk>
25
26CPPFLAGS+=	-DKERNEL -D__x86_64__
27CFLAGS+=	-Wall -Werror -Wstrict-prototypes
28CFLAGS+=	-mno-red-zone -mno-mmx -mno-sse -mno-avx -ffreestanding
29STRIPFLAG=
30LINKFLAGS=	-X -z max-page-size=0x100000 -Ttext 0x100000 \
31		-T ${S}/arch/amd64/stand/prekern/prekern.ldscript
32DPADD+=		prekern.ldscript
33
34KERN_AS=	library
35.include	"${S}/lib/libkern/Makefile.inc"
36LIBKERN=	${KERNLIB}
37
38LIBCRT0=	# nothing
39LIBCRTI=	# nothing
40LIBC=		# nothing
41LIBCRTBEGIN=	# nothing
42LIBCRTEND=	# nothing
43
44${PROG}: ${OBJS} ${LIBKERN}
45	${_MKTARGET_LINK}
46	${LD} ${LINKFLAGS} -o ${.TARGET} ${OBJS} ${LIBKERN}
47
48all:	${PROG}
49
50.include <bsd.prog.mk>
51
52cleandir distclean: .WAIT cleanlibdir
53
54cleanlibdir:
55	-rm -rf lib
56