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