1 # $NetBSD: Makefile.inc,v 1.19 2002/11/02 07:49:57 perry Exp $
2 #
3 # Configuration variables (default values are below):
4 #
5 # S must be set to the top of the 'sys' tree.
6 # COMPATDST
7 # may be set to the location of the directory where library
8 # objects are to be built. Defaults to ${.OBJDIR}/lib/compat.
9 # COMPAT_AS
10 # may be set to 'obj' to build a object from the library's
11 # object files. (Otherwise, a library will be built.)
12 # Defaults to 'library'.
13 # COMPATMISCMAKEFLAGS
14 # Miscellaneous flags to be passed to the library's Makefile when
15 # building. See library's Makefile for more details about
16 # supported flags and their default values.
17
18 # Default values:
19 COMPATDST?= ${.OBJDIR}/lib/compat
20 COMPAT_AS?= library
21 COMPATDOTDIR?= ../../.
22
23 COMPATDIR= ${S:S@^.@${COMPATDOTDIR}@:Q}/compat/common
24 .if (${COMPAT_AS} == "obj")
25 COMPATLIB= ${COMPATDST}/libcompat.o
26 COMPATLIB_PROF= ${COMPATDST}/libcompat.po
27 .else
28 COMPATLIB= ${COMPATDST}/libcompat.a
29 COMPATLIB_PROF= ${COMPATDST}/libcompat_p.a
30 .endif
31
32 LIBCOMPATLNBN= llib-lcompat.ln
33 COMPATLIBLN= ${COMPATDST}/${LIBCOMPATLNBN}
34
35 COMPATMAKE= \
36 cd ${COMPATDST} && ${MAKE} -f ${COMPATDIR:Q}/Makefile \
37 COMPATDIR=${COMPATDIR:Q} \
38 CC=${CC:Q} CFLAGS=${CFLAGS:Q} \
39 AS=${AS:Q} AFLAGS=${AFLAGS:Q} \
40 AR=${AR:Q} NM=${NM:Q} \
41 LORDER=${LORDER:Q} \
42 TSORT=${TSORT:Q} \
43 RANLIB=${RANLIB:Q} \
44 LD=${LD:Q} STRIP=${STRIP:Q} \
45 MACHINE=${MACHINE} MACHINE_ARCH=${MACHINE_ARCH:Q} \
46 COMPATCPPFLAGS=${CPPFLAGS:S@^-I.@-I${COMPATDOTDIR}@g:Q} \
47 LINTFLAGS=${KERNLINTFLAGS:Q} \
48 ${COMPATMISCMAKEFLAGS}
49
50 ${COMPATLIB}: .NOTMAIN .MAKE __always_make_compatlib
51 @echo making sure the compat library is up to date...
52 .if (${COMPAT_AS} == "library")
53 @${COMPATMAKE} libcompat.a
54 .else
55 @${COMPATMAKE} libcompat.o
56 .endif
57
58 ${COMPATLIB_PROF}: .NOTMAIN .MAKE __always_make_compatlib
59 @echo making sure the profiled compat library is up to date...
60 .if (${COMPAT_AS} == "library")
61 @${COMPATMAKE} libcompat_p.a
62 .else
63 @${COMPATMAKE} libcompat.po
64 .endif
65
66 ${COMPATLIBLN}: .NOTMAIN .MAKE __always_make_compatlib
67 @echo making sure the compat lint library is up to date...
68 @${COMPATMAKE} ${LIBCOMPATLNBN}
69
70 clean: .NOTMAIN cleancompatlib
71 cleancompatlib: .NOTMAIN .MAKE __always_make_compatlib
72 @echo cleaning the compat library objects
73 @${COMPATMAKE} clean
74
75 cleandir distclean: .NOTMAIN cleandircompatlib
76 cleandircompatlib: .NOTMAIN .MAKE __always_make_compatlib
77 @echo cleandiring the compat library objects
78 @${COMPATMAKE} cleandir
79
80 depend: .NOTMAIN dependcompatlib
81 dependcompatlib: .NOTMAIN .MAKE __always_make_compatlib
82 @echo depending the compat library objects
83 @${COMPATMAKE} depend
84
85 __always_make_compatlib: .NOTMAIN
86 @mkdir -p ${COMPATDST}
87
88 .PHONY: __always_make_compatlib
89 .PHONY: cleancompatlib cleandircompatlib dependcompatlib
Cache object: 5d731d0a09e4b27a5b8147785028eac8
|