Home | History | Annotate | Line # | Download | only in mk
      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