]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - gnu/lib/libgcov/Makefile
META_MODE: Avoid changed build command every build.
[FreeBSD/FreeBSD.git] / gnu / lib / libgcov / Makefile
1 # $FreeBSD$
2
3 MK_PROFILE=     no
4 MK_SSP=         no
5
6 .include <src.opts.mk>
7 .include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt"
8
9 GCCDIR= ${.CURDIR}/../../../contrib/gcc
10 GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
11 .PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
12
13 LIB=            gcov
14
15 CFLAGS+=        -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
16 CFLAGS+=        -D_PTHREADS -DGTHREAD_USE_WEAK
17 CFLAGS+=        -I${.CURDIR}/../../usr.bin/cc/cc_tools \
18                 -I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I.
19
20 .if ${TARGET_CPUARCH} == "arm"
21 CFLAGS+=        -DTARGET_ARM_EABI
22 .endif
23
24 #
25 # Library members defined in libgcov.c.
26 # Defined in libgcov.c, included only in gcov library
27 SYMS = _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
32 OBJS=           ${SYMS:S/$/.o/}
33 OBJS_T=         ${SYMS:S/$/.o/}
34 OBJS_P=         ${SYMS:S/$/.po/}
35 OBJS_S=         ${SYMS:S/$/.So/}
36
37 #-----------------------------------------------------------------------
38 #
39 # Helpful shortcuts for compiler invocations.
40 #
41 CC_T =  ${CC} -c ${CFLAGS} -fPIC
42 CC_P =  ${CC} -c ${CFLAGS} -p -fPIC
43 CC_S =  ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED
44
45 COMMONHDRS=     tm.h tconfig.h gcov-iov.h options.h
46 CLEANFILES+=    ${COMMONHDRS} cs-tm.h cs-tconfig.h options.h optionlist
47
48 ${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile .PHONY
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>