1*18a5822eSThomas Veerman# $NetBSD: Makefile.wrapper,v 1.1 2011/06/21 06:02:25 mrg Exp $ 2*18a5822eSThomas Veerman 3*18a5822eSThomas Veerman# 4*18a5822eSThomas Veerman# libgcc function wrapper 5*18a5822eSThomas Veerman# 6*18a5822eSThomas Veerman 7*18a5822eSThomas Veerman.if !empty(SRCS:M*.*) 8*18a5822eSThomas Veerman${SRCS}: ${.CURDIR}/Makefile 9*18a5822eSThomas Veerman ${_MKTARGET_CREATE} 10*18a5822eSThomas Veerman { for i in ${_CPPFLAGS.${.TARGET}:C|-D||}; do \ 11*18a5822eSThomas Veerman printf "#define "; echo $$i | sed -e 's,=, ,g'; \ 12*18a5822eSThomas Veerman done; \ 13*18a5822eSThomas Veerman printf '#include <tmplsrc_${SRCS.${.TARGET}:C|/|_|g}>\n'; \ 14*18a5822eSThomas Veerman } >${.TARGET} 15*18a5822eSThomas Veerman 16*18a5822eSThomas VeermanDPSRCS+= ${SRCS} 17*18a5822eSThomas VeermanCLEANFILES+= ${SRCS} 18*18a5822eSThomas Veerman.else 19*18a5822eSThomas Veerman.undef LIB 20*18a5822eSThomas Veerman.endif 21*18a5822eSThomas Veerman 22*18a5822eSThomas Veerman# 23*18a5822eSThomas Veerman# libgcc functions that are built in a single file 24*18a5822eSThomas Veerman# 25*18a5822eSThomas Veerman 26*18a5822eSThomas Veerman.if !empty(TMPLSRCS:M*) 27*18a5822eSThomas Veerman${TMPLSRCS:C|^|tmplsrc_|}: ${.CURDIR}/Makefile 28*18a5822eSThomas Veerman ${_MKTARGET_CREATE} 29*18a5822eSThomas Veerman printf '#include <${.TARGET:C|^tmplsrc_||}>\n' >${.TARGET} 30*18a5822eSThomas Veerman 31*18a5822eSThomas Veerman${SRCS}: ${TMPLSRCS:C|^|tmplsrc_|} 32*18a5822eSThomas VeermanDPSRCS+= ${TMPLSRCS:C|^|tmplsrc_|} 33*18a5822eSThomas VeermanCLEANFILES+= ${TMPLSRCS:C|^|tmplsrc_|} 34*18a5822eSThomas Veerman.endif 35*18a5822eSThomas Veerman 36*18a5822eSThomas Veerman# 37*18a5822eSThomas Veerman# soft float functions 38*18a5822eSThomas Veerman# 39*18a5822eSThomas Veerman 40*18a5822eSThomas Veerman.if !empty(TMPLFPSRCS:M*) 41*18a5822eSThomas Veerman${TMPLFPSRCS:C|^|tmplsrc_|}: ${.CURDIR}/Makefile 42*18a5822eSThomas Veerman ${_MKTARGET_CREATE} 43*18a5822eSThomas Veerman printf '#include "${GCCARCHLIBGCC}/${.TARGET:C|^tmplsrc_||}"\n' >${.TARGET} 44*18a5822eSThomas Veerman 45*18a5822eSThomas Veerman${SRCS}: ${TMPLFPSRCS:C|^|tmplsrc_|} 46*18a5822eSThomas VeermanDPSRCS+= ${TMPLFPSRCS:C|^|tmplsrc_|} 47*18a5822eSThomas VeermanCLEANFILES+= ${TMPLFPSRCS:C|^|tmplsrc_|} 48*18a5822eSThomas Veerman.endif 49*18a5822eSThomas Veerman 50*18a5822eSThomas Veerman# 51*18a5822eSThomas Veerman# functions written in an asm file 52*18a5822eSThomas Veerman# 53*18a5822eSThomas Veerman 54*18a5822eSThomas Veerman.if !empty(TMPLASMSRCS:M*.*) 55*18a5822eSThomas Veerman${TMPLASMSRCS:C|^|tmplsrc_|:C|/|_|g}: ${.CURDIR}/Makefile 56*18a5822eSThomas Veerman ${_MKTARGET_CREATE} 57*18a5822eSThomas Veerman printf '#include <${G_LIB1ASMSRC}>\n' >${.TARGET} 58*18a5822eSThomas Veerman 59*18a5822eSThomas Veerman${SRCS}: ${TMPLASMSRCS:C|^|tmplsrc_|:C|/|_|g} 60*18a5822eSThomas VeermanDPSRCS+= ${TMPLASMSRCS:C|^|tmplsrc_|:C|/|_|g} 61*18a5822eSThomas VeermanCLEANFILES+= ${TMPLASMSRCS:C|^|tmplsrc_|:C|/|_|g} 62*18a5822eSThomas Veerman.endif 63