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