1# $FreeBSD: src/gnu/lib/libgcov/Makefile,v 1.6 2009/06/21 01:54:47 kan Exp $ 2# $OpenBSD: Makefile,v 1.2 2013/05/18 18:21:39 miod Exp $ 3 4.include <bsd.own.mk> 5 6GCCLIB= ${.CURDIR}/../../../gcc 7GCCDIR= ${GCCLIB}/gcc 8 9.include "../Makefile.tgt" 10 11.if defined(CROSSDIR) 12LD=${CROSSDIR}/usr/${GCC_TARGET}/bin/ld 13RANLIB=${CROSSDIR}/usr/${GCC_TARGET}/bin/ranlib 14.endif 15 16.if defined(CROSS_TARGET) 17#Building cc for target, CC should already be the cross compiler 18.elif ${.OBJDIR} != ${.CURDIR} 19CC=${.OBJDIR}/../cc/cc -B ${.OBJDIR}/../cc1 20.else 21CC=${.CURDIR}/../cc/cc -B ${.CURDIR}/../cc1 22.endif 23 24.include "${.CURDIR}/../Makefile.ver" 25 26LIB= gcov 27LIBDIR= /usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER} 28NOPROFILE= Yes 29NOPIC= Yes 30 31.include "${.CURDIR}/../Makefile.tgt" 32 33.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} 34 35CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED 36CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK 37CFLAGS+= -I${.CURDIR}/../../usr.bin/cc/cc_tools \ 38 -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. 39 40# Library members defined in libgcov.c. 41# Defined in libgcov.c, included only in gcov library 42SYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ 43 _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \ 44 _gcov_execv _gcov_execvp _gcov_execve \ 45 _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler 46 47OBJS= ${SYMS:S/$/.o/} 48OBJS_T= ${SYMS:S/$/.o/} 49OBJS_P= ${SYMS:S/$/.po/} 50OBJS_S= ${SYMS:S/$/.So/} 51 52#----------------------------------------------------------------------- 53# 54# Helpful shortcuts for compiler invocations. 55# 56#HIDE = -fvisibility=hidden -DHIDE_EXPORTS 57CC_T = ${CC} -c ${CFLAGS} ${HIDE} -fPIC 58CC_P = ${CC} -c ${CFLAGS} ${HIDE} -p -fPIC 59CC_S = ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED 60 61#----------------------------------------------------------------------- 62# 63# Generated headers 64# 65COMMONHDRS= tm.h tconfig.h gcov-iov.h options.h 66 67${COMMONHDRS}: ${.CURDIR}/../cc_tools/Makefile 68 ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET} 69 70CLEANFILES += ${COMMONHDRS} 71CLEANFILES += cs-*.h option* 72 73${OBJS} beforedepend: ${COMMONHDRS} 74 75${OBJS_T}: libgcov.c 76 ${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} 77 78.if !defined(NOPIC) 79${OBJS_S}: libgcov.c 80 ${CC_S} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} 81.endif 82 83.if !defined(NOPROFILE) 84${OBJS_P}: libgcov.c 85 ${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} 86.endif 87 88.include <bsd.lib.mk> 89