xref: /freebsd-12.1/gnu/lib/libgcov/Makefile (revision ffec3151)
10d7a4fdfSAlexander Kabaev# $FreeBSD$
20d7a4fdfSAlexander Kabaev
398407b8bSWarner LoshMK_PROFILE=	no
4573cb89bSAlexander KabaevMK_SSP=		no
598407b8bSWarner Losh
6c6063d0dSWarner Losh.include <src.opts.mk>
70d7a4fdfSAlexander Kabaev
8*ffec3151SWarner LoshGCCDIR=	${SRCTOP}/contrib/gcc
9*ffec3151SWarner LoshGCCLIB=	${SRCTOP}/contrib/gcclibs
10*ffec3151SWarner LoshCCDIR=	${SRCTOP}/gnu/usr.bin/cc
1109fb6bffSBryan Drewery.include "${CCDIR}/Makefile.tgt"
1209fb6bffSBryan Drewery.include "${CCDIR}/cc_tools/Makefile.hdrs"
1309fb6bffSBryan Drewery
140d7a4fdfSAlexander Kabaev.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
150d7a4fdfSAlexander Kabaev
160d7a4fdfSAlexander KabaevLIB=		gcov
170d7a4fdfSAlexander Kabaev
180d7a4fdfSAlexander KabaevCFLAGS+=	-DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
190d7a4fdfSAlexander KabaevCFLAGS+=	-D_PTHREADS -DGTHREAD_USE_WEAK
2009fb6bffSBryan DreweryCFLAGS+=	-I${CCDIR}/cc_tools \
21afb57df6SAlexander Kabaev		-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I.
221992e9a1SAndrew Turner
236d4766c1SAndrew Turner.if ${TARGET_CPUARCH} == "arm"
241992e9a1SAndrew TurnerCFLAGS+=	-DTARGET_ARM_EABI
251992e9a1SAndrew Turner.endif
261992e9a1SAndrew Turner
270d7a4fdfSAlexander Kabaev#
280d7a4fdfSAlexander Kabaev# Library members defined in libgcov.c.
29afb57df6SAlexander Kabaev# Defined in libgcov.c, included only in gcov library
30afb57df6SAlexander KabaevSYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
31afb57df6SAlexander Kabaev    _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \
32afb57df6SAlexander Kabaev    _gcov_execv _gcov_execvp _gcov_execve \
33afb57df6SAlexander Kabaev    _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler
340d7a4fdfSAlexander Kabaev
350d7a4fdfSAlexander KabaevOBJS=		${SYMS:S/$/.o/}
360d7a4fdfSAlexander KabaevOBJS_T=		${SYMS:S/$/.o/}
370d7a4fdfSAlexander KabaevOBJS_P=		${SYMS:S/$/.po/}
382b4da8aaSMarcel MoolenaarOBJS_S=		${SYMS:S/$/.pico/}
390d7a4fdfSAlexander Kabaev
40c78339e9SAlexander Kabaev#-----------------------------------------------------------------------
41c78339e9SAlexander Kabaev#
42c78339e9SAlexander Kabaev# Helpful shortcuts for compiler invocations.
43c78339e9SAlexander Kabaev#
44c78339e9SAlexander KabaevCC_T =	${CC} -c ${CFLAGS} -fPIC
45c78339e9SAlexander KabaevCC_P =	${CC} -c ${CFLAGS} -p -fPIC
46c78339e9SAlexander KabaevCC_S =	${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED
47c78339e9SAlexander Kabaev
48afb57df6SAlexander KabaevCOMMONHDRS=	tm.h tconfig.h gcov-iov.h options.h
49afb57df6SAlexander KabaevCLEANFILES+=	${COMMONHDRS} cs-tm.h cs-tconfig.h options.h optionlist
500d7a4fdfSAlexander Kabaev
510d7a4fdfSAlexander Kabaev${OBJS} beforedepend: ${COMMONHDRS}
520d7a4fdfSAlexander Kabaev
530d7a4fdfSAlexander Kabaev${OBJS_T}: libgcov.c
54c78339e9SAlexander Kabaev	${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
550d7a4fdfSAlexander Kabaev
56ab7a2947SRuslan Ermilov.if !defined(NO_PIC)
570d7a4fdfSAlexander Kabaev${OBJS_S}: libgcov.c
58c78339e9SAlexander Kabaev	${CC_S} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
590d7a4fdfSAlexander Kabaev.endif
600d7a4fdfSAlexander Kabaev
615740a2b6SRuslan Ermilov.if ${MK_PROFILE} != "no"
62afb57df6SAlexander Kabaev${OBJS_P}: libgcov.c
63c78339e9SAlexander Kabaev	${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
640d7a4fdfSAlexander Kabaev.endif
650d7a4fdfSAlexander Kabaev
660d7a4fdfSAlexander Kabaev.include <bsd.lib.mk>
67