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