bsd.hostlib.mk revision 1.3 1 # $NetBSD: bsd.hostlib.mk,v 1.3 2002/09/17 23:18:29 thorpej 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
14 # Override these:
15 MKDEP:= ${HOST_MKDEP}
16
17 .if ${TOOLCHAIN_MISSING} != "yes" || defined(EXTERNAL_TOOLCHAIN)
18 OBJHOSTMACHINE= # set
19 .endif
20
21 ##### Build rules
22 .if defined(HOSTLIB)
23 DPSRCS+= ${SRCS:M*.[ly]:C/\..$/.c/}
24 CLEANFILES+= ${DPSRCS} ${YHEADER:D${SRCS:M*.y:.y=.h}}
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: ${OBJS} ${HOSTPROG} ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
33
34 lib${HOSTLIB}.a: ${DPSRCS} ${OBJS} ${DPADD}
35 -rm -f ${.TARGET}
36 ${HOST_AR} cq ${.TARGET} ${OBJS}
37 @${HOST_RANLIB} ${.TARGET}
38
39 .endif # defined(OBJS) && !empty(OBJS)
40
41 realall: lib${HOSTLIB}.a
42
43 cleanlib:
44 rm -f a.out [Ee]rrs mklog core *.core \
45 lib${HOSTLIB}.a ${OBJS} ${CLEANFILES}
46
47 beforedepend:
48 CFLAGS:= ${HOST_CFLAGS}
49 CPPFLAGS:= ${HOST_CPPFLAGS}
50
51 .if defined(SRCS)
52 afterdepend: .depend
53 @(TMP=/tmp/_depend$$$$; \
54 sed -e 's/^\([^\.]*\).o[ ]*:/\1.lo:/' \
55 < .depend > $$TMP; \
56 mv $$TMP .depend)
57 .endif
58
59 ##### Pull in related .mk logic
60 .include <bsd.dep.mk>
61 .include <bsd.obj.mk>
62
63 ${TARGETS}: # ensure existence
64