1 # $NetBSD: bsd.hostlib.mk,v 1.21 2024/04/12 16:28:43 jakllsch Exp $ 2 3 .include <bsd.hostinit.mk> 4 .include <bsd.sys.mk> 5 6 ##### Basic targets 7 8 ##### Default values 9 CFLAGS+= ${COPTS} 10 MKDEP_SUFFIXES?= .o .lo .d 11 12 # Override these: 13 MKDEP:= ${HOST_MKDEP} 14 MKDEPCXX:= ${HOST_MKDEPCXX} 15 16 .if ${TOOLCHAIN_MISSING} == "no" || defined(EXTERNAL_TOOLCHAIN) 17 OBJHOSTMACHINE= # set 18 .endif 19 20 ##### Build rules 21 .if defined(HOSTLIB) 22 _YHLSRCS= ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}} 23 DPSRCS+= ${_YHLSRCS} 24 CLEANFILES+= ${_YHLSRCS} 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: lib${HOSTLIB}.a ${OBJS} ${_YHLSRCS} 33 34 ${OBJS}: ${DPSRCS} 35 36 lib${HOSTLIB}.a: ${OBJS} ${DPADD} 37 ${_MKTARGET_BUILD} 38 rm -f ${.TARGET} 39 ${HOST_AR} cq ${.TARGET} ${OBJS} 40 ${HOST_RANLIB} ${.TARGET} 41 42 .endif # defined(OBJS) && !empty(OBJS) 43 44 realall: lib${HOSTLIB}.a 45 46 CLEANFILES+= a.out [Ee]rrs mklog core *.core lib${HOSTLIB}.a ${OBJS} 47 48 beforedepend: 49 CFLAGS:= ${HOST_CFLAGS} 50 CPPFLAGS:= ${HOST_CPPFLAGS:N-Wp,-iremap,*} 51 52 ##### Pull in related .mk logic 53 .include <bsd.obj.mk> 54 .include <bsd.dep.mk> 55 .include <bsd.clean.mk> 56 57 ${TARGETS}: # ensure existence 58