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