xref: /netbsd/share/mk/bsd.hostlib.mk (revision bf9ec67e)
1#	$NetBSD: bsd.hostlib.mk,v 1.2 2002/01/03 22:45:25 tv Exp $
2
3.include <bsd.init.mk>
4.include <bsd.sys.mk>
5
6##### Basic targets
7.PHONY:		cleanlib
8clean:		cleanlib
9
10##### Default values
11CFLAGS+=	${COPTS}
12HOST_MKDEP?=	CC=${HOST_CC:Q} mkdep
13
14# Override these:
15MKDEP:=		${HOST_MKDEP}
16
17.if defined(USE_NEW_TOOLCHAIN)
18OBJHOSTMACHINE=	# set
19.endif
20
21##### Build rules
22.if defined(HOSTLIB)
23DPSRCS+=	${SRCS:M*.[ly]:C/\..$/.c/}
24CLEANFILES+=	${DPSRCS} ${YHEADER:D${SRCS:M*.y:.y=.h}}
25.endif	# defined(HOSTLIB)
26
27.if !empty(SRCS:N*.h:N*.sh)
28OBJS+=		${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
34lib${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
41realall: lib${HOSTLIB}.a
42
43cleanlib:
44	rm -f a.out [Ee]rrs mklog core *.core \
45	    lib${HOSTLIB}.a ${OBJS} ${CLEANFILES}
46
47beforedepend:
48CFLAGS:=	${HOST_CFLAGS}
49CPPFLAGS:=	${HOST_CPPFLAGS}
50
51.if defined(SRCS)
52afterdepend: .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