xref: /openbsd/gnu/usr.bin/cc/libgcov/Makefile (revision 3367dcf5)
109fbf965Smiod# $FreeBSD: src/gnu/lib/libgcov/Makefile,v 1.6 2009/06/21 01:54:47 kan Exp $
2*3367dcf5Sespie# $OpenBSD: Makefile,v 1.4 2019/12/21 21:40:00 espie Exp $
309fbf965Smiod
409fbf965Smiod.include <bsd.own.mk>
509fbf965Smiod
609fbf965SmiodGCCLIB= ${.CURDIR}/../../../gcc
709fbf965SmiodGCCDIR= ${GCCLIB}/gcc
809fbf965Smiod
909fbf965Smiod.include "../Makefile.tgt"
1009fbf965Smiod
1109fbf965Smiod.if defined(CROSSDIR)
1209fbf965SmiodLD=${CROSSDIR}/usr/${GCC_TARGET}/bin/ld
1309fbf965SmiodRANLIB=${CROSSDIR}/usr/${GCC_TARGET}/bin/ranlib
1409fbf965Smiod.endif
1509fbf965Smiod
1609fbf965Smiod.if defined(CROSS_TARGET)
1709fbf965Smiod#Building cc for target, CC should already be the cross compiler
1809fbf965Smiod.elif ${.OBJDIR} != ${.CURDIR}
1909fbf965SmiodCC=${.OBJDIR}/../cc/cc -B ${.OBJDIR}/../cc1
2009fbf965Smiod.else
2109fbf965SmiodCC=${.CURDIR}/../cc/cc -B ${.CURDIR}/../cc1
2209fbf965Smiod.endif
2309fbf965Smiod
2409fbf965Smiod.include "${.CURDIR}/../Makefile.ver"
2509fbf965Smiod
2609fbf965SmiodLIB=		gcov
279e49dea7SmiodLIBDIR=		/usr/lib/gcc-lib/${GCC_TARGET}/${BASEVER}
2809fbf965SmiodNOPROFILE=	Yes
2909fbf965SmiodNOPIC=		Yes
3009fbf965Smiod
3109fbf965Smiod.include "${.CURDIR}/../Makefile.tgt"
3209fbf965Smiod
3309fbf965Smiod.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
3409fbf965Smiod
3509fbf965SmiodCFLAGS+=	-DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
3609fbf965SmiodCFLAGS+=	-D_PTHREADS -DGTHREAD_USE_WEAK
3709fbf965SmiodCFLAGS+=	-I${.CURDIR}/../../usr.bin/cc/cc_tools \
3809fbf965Smiod		-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I.
3909fbf965Smiod
4009fbf965Smiod# Library members defined in libgcov.c.
4109fbf965Smiod# Defined in libgcov.c, included only in gcov library
4209fbf965SmiodSYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
4309fbf965Smiod    _gcov_fork _gcov_execl _gcov_execlp _gcov_execle \
4409fbf965Smiod    _gcov_execv _gcov_execvp _gcov_execve \
4509fbf965Smiod    _gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler
4609fbf965Smiod
4709fbf965SmiodOBJS=		${SYMS:S/$/.o/}
4809fbf965SmiodOBJS_T=		${SYMS:S/$/.o/}
4909fbf965SmiodOBJS_P=		${SYMS:S/$/.po/}
5009fbf965SmiodOBJS_S=		${SYMS:S/$/.So/}
5109fbf965Smiod
5209fbf965Smiod#-----------------------------------------------------------------------
5309fbf965Smiod#
5409fbf965Smiod# Helpful shortcuts for compiler invocations.
5509fbf965Smiod#
5609fbf965Smiod#HIDE =  -fvisibility=hidden -DHIDE_EXPORTS
5709fbf965SmiodCC_T =	${CC} -c ${CFLAGS} ${HIDE} -fPIC
5809fbf965SmiodCC_P =	${CC} -c ${CFLAGS} ${HIDE} -p -fPIC
5909fbf965SmiodCC_S =	${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED
6009fbf965Smiod
6109fbf965Smiod#-----------------------------------------------------------------------
6209fbf965Smiod#
6309fbf965Smiod# Generated headers
6409fbf965Smiod#
6509fbf965SmiodCOMMONHDRS=	tm.h tconfig.h gcov-iov.h options.h
6609fbf965Smiod
6709fbf965Smiod${COMMONHDRS}: ${.CURDIR}/../cc_tools/Makefile
6809fbf965Smiod	${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
6909fbf965Smiod
7009fbf965SmiodCLEANFILES += ${COMMONHDRS}
7109fbf965SmiodCLEANFILES += cs-*.h option*
7209fbf965Smiod
732eaa2fe8SespieBUILDFIRST = ${COMMONHDRS}
742eaa2fe8SespieBUILDAFTER += ${OBJS_T} ${OBJS_P} ${OBJS_S}
7509fbf965Smiod
7609fbf965Smiod${OBJS_T}: libgcov.c
7709fbf965Smiod	${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
7809fbf965Smiod
7909fbf965Smiod.if !defined(NOPIC)
8009fbf965Smiod${OBJS_S}: libgcov.c
8109fbf965Smiod	${CC_S} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
8209fbf965Smiod.endif
8309fbf965Smiod
8409fbf965Smiod.if !defined(NOPROFILE)
8509fbf965Smiod${OBJS_P}: libgcov.c
8609fbf965Smiod	${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
8709fbf965Smiod.endif
8809fbf965Smiod
8909fbf965Smiod.include <bsd.lib.mk>
90