1# $FreeBSD$ 2 3MK_PROFILE= no 4MK_SSP= no 5 6.include <src.opts.mk> 7.include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt" 8 9GCCDIR= ${.CURDIR}/../../../contrib/gcc 10GCCLIB= ${.CURDIR}/../../../contrib/gcclibs 11.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} 12 13LIB= gcov 14 15CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED 16CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK 17CFLAGS+= -I${.CURDIR}/../../usr.bin/cc/cc_tools \ 18 -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. 19 20.if ${TARGET_CPUARCH} == "arm" 21CFLAGS+= -DTARGET_ARM_EABI 22.endif 23 24# 25# Library members defined in libgcov.c. 26# Defined in libgcov.c, included only in gcov library 27SYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ 28 _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \ 29 _gcov_execv _gcov_execvp _gcov_execve \ 30 _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler 31 32OBJS= ${SYMS:S/$/.o/} 33OBJS_T= ${SYMS:S/$/.o/} 34OBJS_P= ${SYMS:S/$/.po/} 35OBJS_S= ${SYMS:S/$/.So/} 36 37#----------------------------------------------------------------------- 38# 39# Helpful shortcuts for compiler invocations. 40# 41CC_T = ${CC} -c ${CFLAGS} -fPIC 42CC_P = ${CC} -c ${CFLAGS} -p -fPIC 43CC_S = ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED 44 45COMMONHDRS= tm.h tconfig.h gcov-iov.h options.h 46CLEANFILES+= ${COMMONHDRS} cs-tm.h cs-tconfig.h options.h optionlist 47 48${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile 49 (cd ${.CURDIR}; ${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}) 50 51${OBJS} beforedepend: ${COMMONHDRS} 52 53${OBJS_T}: libgcov.c 54 ${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} 55 56.if !defined(NO_PIC) 57${OBJS_S}: libgcov.c 58 ${CC_S} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} 59.endif 60 61.if ${MK_PROFILE} != "no" 62${OBJS_P}: libgcov.c 63 ${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c} 64.endif 65 66.include <bsd.lib.mk> 67