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