xref: /dflybsd-src/gnu/lib/gcc80/libgcov/Makefile (revision 3f066efb11f901b93185e8a411635ddfc29a0e46)
1.include "../Makefile.inc"
2.PATH: ${GCCDIR}/libgcc
3
4LIB=		gcov
5WARNS?=1
6
7CFLAGS+=	-I.
8CFLAGS+=	-I${GCCDIR}/libgcc
9CFLAGS+=	-I${.OBJDIR}/../csu
10CFLAGS+=	-fbuilding-libgcc
11CFLAGS+=	-fno-stack-protector
12CFLAGS+=	-DIN_LIBGCC2 -DHAVE_CC_TLS -DIN_GCC
13
14# used by shared libs
15INSTALL_PIC_ARCHIVE=	yes
16
17# taken from build/x86_64-portbld-dragonfly4.1/libgcc/Makefile
18LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single _gcov_merge_delta	\
19	_gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn
20LIBGCOV_PROFILER = _gcov_interval_profiler _gcov_pow2_profiler		\
21	_gcov_one_value_profiler _gcov_indirect_call_profiler		\
22	_gcov_average_profiler _gcov_ior_profiler			\
23	_gcov_indirect_call_profiler_v2 _gcov_time_profiler		\
24	_gcov_indirect_call_topn_profiler
25LIBGCOV_INTERFACE = _gcov_dump _gcov_flush _gcov_fork			\
26	_gcov_execl _gcov_execlp					\
27	_gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_reset
28LIBGCOV_DRIVER = _gcov
29
30LIBGCOV=	${LIBGCOV_MERGE} ${LIBGCOV_PROFILER} ${LIBGCOV_INTERFACE} \
31		${LIBGCOV_DRIVER}
32
33OBJS=	${LIBGCOV:S/$/.o/}
34
35gthr-default.h: gthr-posix.h
36	cp ${.ALLSRC} ${.TARGET}
37
38${LIBGCOV_MERGE:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-merge.c
39	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
40		-o ${.TARGET}
41
42${LIBGCOV_PROFILER:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-profiler.c
43	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
44		-o ${.TARGET}
45
46${LIBGCOV_INTERFACE:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-interface.c gthr-default.h
47	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC:M*.c} \
48		-o ${.TARGET}
49
50${LIBGCOV_DRIVER:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-driver.c
51	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
52		-o ${.TARGET}
53
54# profile versions follow
55
56${LIBGCOV_MERGE:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-merge.c
57	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
58		-c ${.ALLSRC} -o ${.TARGET}
59
60${LIBGCOV_PROFILER:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-profiler.c
61	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
62		-c ${.ALLSRC} -o ${.TARGET}
63
64${LIBGCOV_INTERFACE:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-interface.c gthr-default.h
65	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
66		-c ${.ALLSRC:M*.c} -o ${.TARGET}
67
68${LIBGCOV_DRIVER:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-driver.c
69	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
70		-c ${.ALLSRC} -o ${.TARGET}
71
72# pic versions follow
73
74${LIBGCOV_MERGE:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-merge.c
75	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
76		-o ${.TARGET}
77
78${LIBGCOV_PROFILER:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-profiler.c
79	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
80		-o ${.TARGET}
81
82${LIBGCOV_INTERFACE:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-interface.c gthr-default.h
83	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC:M*.c} \
84		-o ${.TARGET}
85
86${LIBGCOV_DRIVER:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-driver.c
87	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
88		-o ${.TARGET}
89
90auto-target.h: ${.CURDIR}/../libgcc/auto-target.h
91	cp ${.ALLSRC} ${.TARGET}
92
93CLEANFILES+= auto-target.h gthr-default.h
94
95beforedepend: auto-target.h
96
97.include <bsd.lib.mk>
98