Home | History | Annotate | Line # | Download | only in mk
bsd.hostlib.mk revision 1.1
      1 #	$NetBSD: bsd.hostlib.mk,v 1.1 2001/11/28 04:42:49 tv 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 
     13 # Override these:
     14 MKDEP:=		CC=${HOST_CC:Q} ${MKDEP:NCC=*}
     15 
     16 .if defined(USE_NEW_TOOLCHAIN)
     17 OBJHOSTMACHINE=	# set
     18 .endif
     19 
     20 ##### Build rules
     21 .if defined(HOSTLIB)
     22 DPSRCS+=	${SRCS:M*.[ly]:C/\..$/.c/}
     23 CLEANFILES+=	${DPSRCS} ${YHEADER:D${SRCS:M*.y:.y=.h}}
     24 .endif	# defined(HOSTLIB)
     25 
     26 .if !empty(SRCS:N*.h:N*.sh)
     27 OBJS+=		${SRCS:N*.h:N*.sh:R:S/$/.lo/g}
     28 .endif
     29 
     30 .if defined(OBJS) && !empty(OBJS)
     31 .NOPATH: ${OBJS} ${HOSTPROG} ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}}
     32 
     33 lib${HOSTLIB}.a: ${DPSRCS} ${OBJS} ${DPADD}
     34 	-rm -f ${.TARGET}
     35 	${HOST_AR} cq ${.TARGET} ${OBJS}
     36 	@${HOST_RANLIB} ${.TARGET}
     37 
     38 .endif	# defined(OBJS) && !empty(OBJS)
     39 
     40 realall: lib${HOSTLIB}.a
     41 
     42 cleanlib:
     43 	rm -f a.out [Ee]rrs mklog core *.core \
     44 	    lib${HOSTLIB}.a ${OBJS} ${CLEANFILES}
     45 
     46 beforedepend:
     47 CFLAGS:=	${HOST_CFLAGS}
     48 CPPFLAGS:=	${HOST_CPPFLAGS}
     49 
     50 .if defined(SRCS)
     51 afterdepend: .depend
     52 	@(TMP=/tmp/_depend$$$$; \
     53 	    sed -e 's/^\([^\.]*\).o[ ]*:/\1.lo:/' \
     54 	      < .depend > $$TMP; \
     55 	    mv $$TMP .depend)
     56 .endif
     57 
     58 ##### Pull in related .mk logic
     59 .include <bsd.dep.mk>
     60 .include <bsd.obj.mk>
     61 
     62 ${TARGETS}:	# ensure existence
     63