1# $FreeBSD$ 2 3MK_PROFILE= no 4MK_SSP= no 5 6.include <src.opts.mk> 7 8GCCDIR= ${SRCTOP}/contrib/gcc 9GCCLIB= ${SRCTOP}/contrib/gcclibs 10CCDIR= ${SRCTOP}/gnu/usr.bin/cc 11.include "${CCDIR}/Makefile.tgt" 12.include "${CCDIR}/cc_tools/Makefile.hdrs" 13 14.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR} 15 16LIB= gcov 17 18CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED 19CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK 20CFLAGS+= -I${CCDIR}/cc_tools \ 21 -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I. 22 23.if ${TARGET_CPUARCH} == "arm" 24CFLAGS+= -DTARGET_ARM_EABI 25.endif 26 27# 28# Library members defined in libgcov.c. 29# Defined in libgcov.c, included only in gcov library 30SYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \ 31 _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \ 32 _gcov_execv _gcov_execvp _gcov_execve \ 33 _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler 34 35OBJS= ${SYMS:S/$/.o/} 36OBJS_T= ${SYMS:S/$/.o/} 37OBJS_P= ${SYMS:S/$/.po/} 38OBJS_S= ${SYMS:S/$/.pico/} 39 40#----------------------------------------------------------------------- 41# 42# Helpful shortcuts for compiler invocations. 43# 44CC_T = ${CC} -c ${CFLAGS} -fPIC 45CC_P = ${CC} -c ${CFLAGS} -p -fPIC 46CC_S = ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED 47 48COMMONHDRS= tm.h tconfig.h gcov-iov.h options.h 49CLEANFILES+= ${COMMONHDRS} cs-tm.h cs-tconfig.h options.h optionlist 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