xref: /openbsd/gnu/usr.bin/cc/libgcov/Makefile (revision 274d7c50)
1# $FreeBSD: src/gnu/lib/libgcov/Makefile,v 1.6 2009/06/21 01:54:47 kan Exp $
2# $OpenBSD: Makefile,v 1.3 2017/06/16 10:25:54 espie Exp $
3
4.include <bsd.own.mk>
5
6GCCLIB= ${.CURDIR}/../../../gcc
7GCCDIR= ${GCCLIB}/gcc
8
9.include "../Makefile.tgt"
10
11.if defined(CROSSDIR)
12LD=${CROSSDIR}/usr/${GCC_TARGET}/bin/ld
13RANLIB=${CROSSDIR}/usr/${GCC_TARGET}/bin/ranlib
14.endif
15
16.if defined(CROSS_TARGET)
17#Building cc for target, CC should already be the cross compiler
18.elif ${.OBJDIR} != ${.CURDIR}
19CC=${.OBJDIR}/../cc/cc -B ${.OBJDIR}/../cc1
20.else
21CC=${.CURDIR}/../cc/cc -B ${.CURDIR}/../cc1
22.endif
23
24.include "${.CURDIR}/../Makefile.ver"
25
26LIB=		gcov
27LIBDIR=		/usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER}
28NOPROFILE=	Yes
29NOPIC=		Yes
30
31.include "${.CURDIR}/../Makefile.tgt"
32
33.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
34
35CFLAGS+=	-DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
36CFLAGS+=	-D_PTHREADS -DGTHREAD_USE_WEAK
37CFLAGS+=	-I${.CURDIR}/../../usr.bin/cc/cc_tools \
38		-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I.
39
40# Library members defined in libgcov.c.
41# Defined in libgcov.c, included only in gcov library
42SYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
43    _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \
44    _gcov_execv _gcov_execvp _gcov_execve \
45    _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler
46
47OBJS=		${SYMS:S/$/.o/}
48OBJS_T=		${SYMS:S/$/.o/}
49OBJS_P=		${SYMS:S/$/.po/}
50OBJS_S=		${SYMS:S/$/.So/}
51
52#-----------------------------------------------------------------------
53#
54# Helpful shortcuts for compiler invocations.
55#
56#HIDE =  -fvisibility=hidden -DHIDE_EXPORTS
57CC_T =	${CC} -c ${CFLAGS} ${HIDE} -fPIC
58CC_P =	${CC} -c ${CFLAGS} ${HIDE} -p -fPIC
59CC_S =	${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED
60
61#-----------------------------------------------------------------------
62#
63# Generated headers
64#
65COMMONHDRS=	tm.h tconfig.h gcov-iov.h options.h
66
67${COMMONHDRS}: ${.CURDIR}/../cc_tools/Makefile
68	${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
69
70CLEANFILES += ${COMMONHDRS}
71CLEANFILES += cs-*.h option*
72
73${OBJS} beforedepend: ${COMMONHDRS}
74BUILDFIRST = ${COMMONHDRS}
75BUILDAFTER += ${OBJS_T} ${OBJS_P} ${OBJS_S}
76
77${OBJS_T}: libgcov.c
78	${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
79
80.if !defined(NOPIC)
81${OBJS_S}: libgcov.c
82	${CC_S} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
83.endif
84
85.if !defined(NOPROFILE)
86${OBJS_P}: libgcov.c
87	${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
88.endif
89
90.include <bsd.lib.mk>
91