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