xref: /dragonfly/gnu/lib/gcc80/libgcov/Makefile (revision e6d22e9b)
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-dragonfly5.3/libgcc/Makefile
18LIBGCOV_MERGE = _gcov_merge_add _gcov_merge_single			\
19	_gcov_merge_ior _gcov_merge_time_profile _gcov_merge_icall_topn
20LIBGCOV_PROFILER = _gcov_interval_profiler				\
21	_gcov_interval_profiler_atomic					\
22	_gcov_pow2_profiler						\
23	_gcov_pow2_profiler_atomic					\
24	_gcov_one_value_profiler					\
25	_gcov_one_value_profiler_atomic					\
26	_gcov_average_profiler						\
27	_gcov_average_profiler_atomic					\
28	_gcov_ior_profiler						\
29	_gcov_ior_profiler_atomic					\
30	_gcov_indirect_call_profiler_v2					\
31	_gcov_time_profiler						\
32	_gcov_indirect_call_topn_profiler
33LIBGCOV_INTERFACE = _gcov_dump _gcov_flush _gcov_fork			\
34	_gcov_execl _gcov_execlp					\
35	_gcov_execle _gcov_execv _gcov_execvp _gcov_execve _gcov_reset
36LIBGCOV_DRIVER = _gcov
37
38LIBGCOV=	${LIBGCOV_MERGE} ${LIBGCOV_PROFILER} ${LIBGCOV_INTERFACE} \
39		${LIBGCOV_DRIVER}
40
41OBJS=	${LIBGCOV:S/$/.o/}
42
43gthr-default.h: gthr-posix.h
44	cp ${.ALLSRC} ${.TARGET}
45
46${LIBGCOV_MERGE:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-merge.c
47	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
48		-o ${.TARGET}
49
50${LIBGCOV_PROFILER:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-profiler.c
51	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
52		-o ${.TARGET}
53
54${LIBGCOV_INTERFACE:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-interface.c gthr-default.h
55	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC:M*.c} \
56		-o ${.TARGET}
57
58${LIBGCOV_DRIVER:S/$/.o/}: ${GCCDIR}/libgcc/libgcov-driver.c
59	${CC} ${STATIC_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
60		-o ${.TARGET}
61
62# profile versions follow
63
64${LIBGCOV_MERGE:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-merge.c
65	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
66		-c ${.ALLSRC} -o ${.TARGET}
67
68${LIBGCOV_PROFILER:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-profiler.c
69	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
70		-c ${.ALLSRC} -o ${.TARGET}
71
72${LIBGCOV_INTERFACE:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-interface.c gthr-default.h
73	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
74		-c ${.ALLSRC:M*.c} -o ${.TARGET}
75
76${LIBGCOV_DRIVER:S/$/.po/}: ${GCCDIR}/libgcc/libgcov-driver.c
77	${CC} ${PO_FLAG} ${STATIC_CFLAGS} ${PO_CFLAGS} -DL${.TARGET:R} \
78		-c ${.ALLSRC} -o ${.TARGET}
79
80# pic versions follow
81
82${LIBGCOV_MERGE:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-merge.c
83	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
84		-o ${.TARGET}
85
86${LIBGCOV_PROFILER:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-profiler.c
87	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
88		-o ${.TARGET}
89
90${LIBGCOV_INTERFACE:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-interface.c gthr-default.h
91	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC:M*.c} \
92		-o ${.TARGET}
93
94${LIBGCOV_DRIVER:S/$/.So/}: ${GCCDIR}/libgcc/libgcov-driver.c
95	${CC} ${PICFLAG} -DPIC ${SHARED_CFLAGS} ${CFLAGS} -DL${.TARGET:R} -c ${.ALLSRC} \
96		-o ${.TARGET}
97
98auto-target.h: ${.CURDIR}/../libgcc/auto-target.h
99	cp ${.ALLSRC} ${.TARGET}
100
101CLEANFILES+= auto-target.h gthr-default.h
102
103beforedepend: auto-target.h
104
105.include <bsd.lib.mk>
106