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