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