bsd.hostlib.mk revision 1.12 1 # $NetBSD: bsd.hostlib.mk,v 1.12 2004/01/02 16:12:36 lukem Exp $
2
3 .include <bsd.init.mk>
4 .include <bsd.sys.mk>
5
6 ##### Basic targets
7 .PHONY: cleanlib
8 clean: cleanlib
9
10 ##### Default values
11 CFLAGS+= ${COPTS}
12 HOST_MKDEP?= CC=${HOST_CC:Q} mkdep
13 MKDEP_SUFFIXES?= .o .lo
14
15 # Override these:
16 MKDEP:= ${HOST_MKDEP}
17
18 .if ${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN)
19 OBJHOSTMACHINE= # set
20 .endif
21
22 ##### Build rules
23 .if defined(HOSTLIB)
24 DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
25 CLEANFILES+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c}
26 CLEANFILES+= ${YHEADER:D${SRCS:M*.y:.y=.h}}
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: ${OBJS} ${HOSTPROG} ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
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 cleanlib:
49 rm -f a.out [Ee]rrs mklog core *.core \
50 lib${HOSTLIB}.a ${OBJS} ${CLEANFILES}
51
52 beforedepend:
53 CFLAGS:= ${HOST_CFLAGS}
54 CPPFLAGS:= ${HOST_CPPFLAGS}
55
56 ##### Pull in related .mk logic
57 .include <bsd.obj.mk>
58 .include <bsd.dep.mk>
59
60 ${TARGETS}: # ensure existence
61