1 1.8 lukem # $NetBSD: bsd.hostlib.mk,v 1.8 2003/10/18 15:33:59 lukem Exp $ 2 1.1 tv 3 1.1 tv .include <bsd.init.mk> 4 1.1 tv .include <bsd.sys.mk> 5 1.1 tv 6 1.1 tv ##### Basic targets 7 1.1 tv .PHONY: cleanlib 8 1.1 tv clean: cleanlib 9 1.1 tv 10 1.1 tv ##### Default values 11 1.1 tv CFLAGS+= ${COPTS} 12 1.2 tv HOST_MKDEP?= CC=${HOST_CC:Q} mkdep 13 1.1 tv 14 1.1 tv # Override these: 15 1.2 tv MKDEP:= ${HOST_MKDEP} 16 1.1 tv 17 1.3 thorpej .if ${TOOLCHAIN_MISSING} != "yes" || defined(EXTERNAL_TOOLCHAIN) 18 1.1 tv OBJHOSTMACHINE= # set 19 1.1 tv .endif 20 1.1 tv 21 1.1 tv ##### Build rules 22 1.1 tv .if defined(HOSTLIB) 23 1.5 lukem DPSRCS+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} 24 1.7 lukem CLEANFILES+= ${SRCS:M*.l:.l=.c} ${SRCS:M*.y:.y=.c} 25 1.7 lukem CLEANFILES+= ${YHEADER:D${SRCS:M*.y:.y=.h}} 26 1.1 tv .endif # defined(HOSTLIB) 27 1.1 tv 28 1.1 tv .if !empty(SRCS:N*.h:N*.sh) 29 1.1 tv OBJS+= ${SRCS:N*.h:N*.sh:R:S/$/.lo/g} 30 1.1 tv .endif 31 1.1 tv 32 1.1 tv .if defined(OBJS) && !empty(OBJS) 33 1.1 tv .NOPATH: ${OBJS} ${HOSTPROG} ${SRCS:M*.[ly]:C/\..$/.c/} ${YHEADER:D${SRCS:M*.y:.y=.h}} 34 1.1 tv 35 1.7 lukem ${OBJS}: ${DPSRCS} 36 1.7 lukem 37 1.7 lukem lib${HOSTLIB}.a: ${OBJS} ${DPADD} 38 1.8 lukem ${_MKMSG} " build ${.TARGET}" 39 1.8 lukem ${_MKCMD}\ 40 1.8 lukem rm -f ${.TARGET} 41 1.8 lukem ${_MKCMD}\ 42 1.1 tv ${HOST_AR} cq ${.TARGET} ${OBJS} 43 1.8 lukem ${_MKCMD}\ 44 1.8 lukem ${HOST_RANLIB} ${.TARGET} 45 1.1 tv 46 1.1 tv .endif # defined(OBJS) && !empty(OBJS) 47 1.1 tv 48 1.1 tv realall: lib${HOSTLIB}.a 49 1.1 tv 50 1.1 tv cleanlib: 51 1.8 lukem ${_MKCMD}\ 52 1.1 tv rm -f a.out [Ee]rrs mklog core *.core \ 53 1.1 tv lib${HOSTLIB}.a ${OBJS} ${CLEANFILES} 54 1.1 tv 55 1.1 tv beforedepend: 56 1.1 tv CFLAGS:= ${HOST_CFLAGS} 57 1.1 tv CPPFLAGS:= ${HOST_CPPFLAGS} 58 1.1 tv 59 1.1 tv .if defined(SRCS) 60 1.1 tv afterdepend: .depend 61 1.4 msaitoh @(TMP=/tmp/_depend$$$$; trap 'rm -f $$TMP ; exit 1' 1 2 3 13 15; \ 62 1.1 tv sed -e 's/^\([^\.]*\).o[ ]*:/\1.lo:/' \ 63 1.1 tv < .depend > $$TMP; \ 64 1.1 tv mv $$TMP .depend) 65 1.1 tv .endif 66 1.1 tv 67 1.1 tv ##### Pull in related .mk logic 68 1.6 lukem .include <bsd.obj.mk> 69 1.1 tv .include <bsd.dep.mk> 70 1.1 tv 71 1.1 tv ${TARGETS}: # ensure existence 72