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