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