1 # $NetBSD: Makefile,v 1.2 2013/08/20 17:41:58 matt Exp $ 2 3 WITHOUT_MAN=true # defined 4 5 .include <bsd.obj.mk> # Pull in OBJDIR name rules. 6 .include <bsd.own.mk> 7 8 LIB= kern 9 DBG= -Os 10 11 MKDEBUGLIB:= no 12 MKLINT:= no 13 MKPICINSTALL:= no 14 MKPIC:= no 15 MKPROFILE:= no 16 17 S= ${NETBSDSRCDIR}/sys 18 CPPFLAGS+= -nostdinc -I${.OBJDIR} -I${S} -I${S}/arch 19 20 CPPFLAGS+= -D_STANDALONE 21 22 COPTS+= -ffreestanding 23 COPTS+= -fno-stack-protector 24 COPTS+= -fno-unwind-tables 25 CWARNFLAGS+= -Werror 26 CWARNFLAGS+= -Wall -Wmissing-prototypes -Wstrict-prototypes -Wpointer-arith 27 28 .if !make(obj) && !make(clean) && !make(cleandir) 29 .NOPATH: machine 30 .endif 31 32 realdepend realall: machine .WAIT 33 CLEANFILES+= ${MACHINE_CPU} machine 34 35 machine:: 36 .if ${MACHINE_CPU} == "arm" 37 ln -sf ${S}/arch/${MACHINE_CPU}/include machine 38 .else 39 ln -sf ${S}/arch/${MACHINE}/include machine 40 .endif 41 ln -sf ${S}/arch/${MACHINE_CPU}/include ${MACHINE_CPU} 42 43 ${OBJS}: machine 44 45 ### find out what to use for libkern 46 KERN_AS= library 47 KERNDIR= ${S}/lib/libkern 48 49 .include "${S}/lib/libkern/Makefile.libkern" 50 .ifndef ARCHSUBDIR 51 .BEGIN: 52 @echo no ARCHSUBDIR for ${MACHINE_ARCH} nor ${MACHINE_CPU} 53 @false 54 .endif 55 56 .include <bsd.lib.mk> 57 58 lib${LIB}.o:: ${OBJS} 59 @echo building standard ${LIB} library 60 @rm -f lib${LIB}.o 61 @${LD} -r -o lib${LIB}.o `NM=${NM} ${LORDER} ${OBJS} | ${TSORT}` 62 63 lib${LIB}.po:: ${POBJS} 64 @echo building profiled ${LIB} library 65 @rm -f lib${LIB}.po 66 @${LD} -r -o lib${LIB}.po `NM=${NM} ${LORDER} ${POBJS} | ${TSORT}` 67 68 showsources: ${SRCS} 69 @echo ${.ALLSRC} 70