Expand PMF_FN_* macros.
[netbsd-mini2440.git] / sys / lib / libkern / Makefile.inc
blobb05e124eeee1e92e6224eeb92ce4b9da7d944a69
1 #       $NetBSD: Makefile.inc,v 1.39 2005/12/11 12:24:37 christos Exp $
3 #       Configuration variables (default values are below):
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.
19 # Default values:
20 KERNDST?=       ${.OBJDIR}/lib/kern
21 KERN_AS?=       library
22 KERNDOTDIR?= ../../.
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
33 LIBKERNLNBN=    llib-lkern.ln
34 KERNLIBLN=      ${KERNDST}/${LIBKERNLNBN}
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}
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
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
68 ${KERNLIBLN}:           .NOTMAIN .MAKE __always_make_kernlib
69         @echo making sure the kern lint library is up to date...
70         @${KERNMAKE} ${LIBKERNLNBN}
72 clean:                  .NOTMAIN cleankernlib
73 cleankernlib:           .NOTMAIN
74         @echo cleaning the kern library objects
75         @if [ -d "${KERNDST}" ]; then ${KERNMAKE} clean; fi
77 cleandir distclean:     .NOTMAIN cleandirkernlib
78 cleandirkernlib:        .NOTMAIN
79         @echo cleandiring the kern library objects
80         @if [ -d "${KERNDST}" ]; then ${KERNMAKE} cleandir; fi
82 dependall depend:       .NOTMAIN dependkernlib
83 dependkernlib:          .NOTMAIN .MAKE __always_make_kernlib
84         @echo depending the kern library objects
85         @${KERNMAKE} depend
87 __always_make_kernlib:  .NOTMAIN
88         @(mkdir -p ${KERNDST})
90 .PHONY: __always_make_kernlib
91 .PHONY: cleankernlib cleandirkernlib dependkernlib
93 .include "${.PARSEDIR}/../../../common/lib/libc/Makefile.inc"