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