1 # $NetBSD: Makefile.inc,v 1.37 2003/11/07 23:34:28 dsl Exp $
2 #
3 # Configuration variables (default values are below):
4 #
5 # S must be set to the top of the 'sys' tree.
6 # KERNDST may be set to the location of the directory where library
7 # objects are to be built. Defaults to ${.OBJDIR}/lib/kern.
8 # KERN_AS may be set to 'obj' to build a object from the library's
9 # object files. (Otherwise, a library will be built.)
10 # Defaults to 'library'.
11 # KERNMISCCPPFLAGS
12 # Miscellaneous cpp flags to be passed to the library's Makefile
13 # when building.
14 # KERNMISCMAKEFLAGS
15 # Miscellaneous flags to be passed to the library's Makefile when
16 # building. See library's Makefile for more details about
17 # supported flags and their default values.
18
19 # Default values:
20 KERNDST?= ${.OBJDIR}/lib/kern
21 KERN_AS?= library
22 KERNDOTDIR?= ../../.
23
24 KERNDIR= ${S:S@^.@${KERNDOTDIR}@:Q}/lib/libkern
25 .if (${KERN_AS} == "obj")
26 KERNLIB= ${KERNDST}/libkern.o
27 KERNLIB_PROF= ${KERNDST}/libkern.po
28 .else
29 KERNLIB= ${KERNDST}/libkern.a
30 KERNLIB_PROF= ${KERNDST}/libkern_p.a
31 .endif
32
33 LIBKERNLNBN= llib-lkern.ln
34 KERNLIBLN= ${KERNDST}/${LIBKERNLNBN}
35
36 KERNMAKE= \
37 cd ${KERNDST} && ${MAKE} -f ${KERNDIR:Q}/Makefile \
38 KERNDIR=${KERNDIR:Q} \
39 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
40 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
41 LORDER=${LORDER:Q} \
42 TSORT=${TSORT:Q} \
43 LD=${LD:Q} STRIP=${STRIP:Q} \
44 AR=${AR:Q} NM=${NM:Q} \
45 RANLIB=${RANLIB:Q} SIZE=${SIZE:Q} \
46 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
47 KERNCPPFLAGS=${CPPFLAGS:S@^-I.@-I${KERNDOTDIR}@g:Q} \
48 KERNMISCCPPFLAGS=${KERNMISCCPPFLAGS:Q} \
49 LINTFLAGS=${KERNLINTFLAGS:Q} \
50 ${KERNMISCMAKEFLAGS}
51
52 ${KERNLIB}: .NOTMAIN .MAKE __always_make_kernlib
53 @echo making sure the kern library is up to date...
54 .if (${KERN_AS} == "library")
55 @${KERNMAKE} libkern.a
56 .else
57 @${KERNMAKE} libkern.o
58 .endif
59
60 ${KERNLIB_PROF}: .NOTMAIN .MAKE __always_make_kernlib
61 @echo making sure the profiled kern library is up to date...
62 .if (${KERN_AS} == "library")
63 @${KERNMAKE} libkern_p.a
64 .else
65 @${KERNMAKE} libkern.po
66 .endif
67
68 ${KERNLIBLN}: .NOTMAIN .MAKE __always_make_kernlib
69 @echo making sure the kern lint library is up to date...
70 @${KERNMAKE} ${LIBKERNLNBN}
71
72 clean: .NOTMAIN cleankernlib
73 cleankernlib: .NOTMAIN
74 @echo cleaning the kern library objects
75 @if [ -d "${KERNDST}" ]; then ${KERNMAKE} clean; fi
76
77 cleandir distclean: .NOTMAIN cleandirkernlib
78 cleandirkernlib: .NOTMAIN
79 @echo cleandiring the kern library objects
80 @if [ -d "${KERNDST}" ]; then ${KERNMAKE} cleandir; fi
81
82 dependall depend: .NOTMAIN dependkernlib
83 dependkernlib: .NOTMAIN .MAKE __always_make_kernlib
84 @echo depending the kern library objects
85 @${KERNMAKE} depend
86
87 __always_make_kernlib: .NOTMAIN
88 @(mkdir -p ${KERNDST})
89
90 .PHONY: __always_make_kernlib
91 .PHONY: cleankernlib cleandirkernlib dependkernlib
Cache object: 04e9939a18475160dd82a30af40bdbb9
|