bsd.hostlib.mk revision 1.17 1 # $NetBSD: bsd.hostlib.mk,v 1.17 2013/10/29 16:11:46 joerg Exp $
2
3 .include <bsd.init.mk>
4 .include <bsd.sys.mk>
5
6 ##### Basic targets
7
8 ##### Default values
9 CFLAGS+= ${COPTS}
10 HOST_MKDEP?= CC=${HOST_CC:Q} mkdep
11 HOST_MKDEPCXX?= CC=${HOST_CXX:Q} mkdep
12 MKDEP_SUFFIXES?= .o .lo
13
14 # Override these:
15 MKDEP:= ${HOST_MKDEP}
16 MKDEPCXX:= ${HOST_MKDEPCXX}
17
18 .if ${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)
19 OBJHOSTMACHINE= # set
20 .endif
21
22 ##### Build rules
23 .if defined(HOSTLIB)
24 _YHLSRCS= ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
25 DPSRCS+= ${_YHLSRCS}
26 CLEANFILES+= ${_YHLSRCS}
27 .endif # defined(HOSTLIB)
28
29 .if !empty(SRCS:N*.h:N*.sh)
30 OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.lo/g}
31 .endif
32
33 .if defined(OBJS) && !empty(OBJS)
34 .NOPATH: lib${HOSTLIB}.a ${OBJS} ${_YHLSRCS}
35
36 ${OBJS}: ${DPSRCS}
37
38 lib${HOSTLIB}.a: ${OBJS} ${DPADD}
39 ${_MKTARGET_BUILD}
40 rm -f ${.TARGET}
41 ${HOST_AR} cq ${.TARGET} ${OBJS}
42 ${HOST_RANLIB} ${.TARGET}
43
44 .endif # defined(OBJS) && !empty(OBJS)
45
46 realall: lib${HOSTLIB}.a
47
48 CLEANFILES+= a.out [Ee]rrs mklog core *.core lib${HOSTLIB}.a ${OBJS}
49
50 beforedepend:
51 CFLAGS:= ${HOST_CFLAGS}
52 CPPFLAGS:= ${HOST_CPPFLAGS}
53
54 ##### Pull in related .mk logic
55 .include <bsd.obj.mk>
56 .include <bsd.dep.mk>
57 .include <bsd.clean.mk>
58
59 ${TARGETS}: # ensure existence
60