freebsd-dev/gnu/lib/libgcov/Makefile
Alexander Kabaev 573cb89b8d Compile libgcov without stack protection. It can be linked into
both static and dynamic binaries compiled with or without stack
protection and should not depend on libssp_nonshared.a symbols.

Discussed with: kib
PR:		bin/139052
2009-10-25 15:52:31 +00:00

61 lines
1.7 KiB
Makefile

# $FreeBSD$
NO_PROFILE=
.include <bsd.own.mk>
MK_SSP= no
.include "${.CURDIR}/../../usr.bin/cc/Makefile.tgt"
GCCDIR= ${.CURDIR}/../../../contrib/gcc
GCCLIB= ${.CURDIR}/../../../contrib/gcclibs
.PATH: ${GCCDIR}/config/${GCC_CPU} ${GCCDIR}
LIB= gcov
CFLAGS+= -DIN_GCC -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED
CFLAGS+= -D_PTHREADS -DGTHREAD_USE_WEAK
CFLAGS+= -I${.CURDIR}/../../usr.bin/cc/cc_tools \
-I${GCCLIB}/include -I${GCCDIR}/config -I${GCCDIR} -I.
#
# Library members defined in libgcov.c.
# Defined in libgcov.c, included only in gcov library
SYMS = _gcov _gcov_merge_add _gcov_merge_single _gcov_merge_delta \
_gcov_fork _gcov_execl _gcov_execlp _gcov_execle \
_gcov_execv _gcov_execvp _gcov_execve \
_gcov_interval_profiler _gcov_pow2_profiler _gcov_one_value_profiler
OBJS= ${SYMS:S/$/.o/}
OBJS_T= ${SYMS:S/$/.o/}
OBJS_P= ${SYMS:S/$/.po/}
OBJS_S= ${SYMS:S/$/.So/}
#-----------------------------------------------------------------------
#
# Helpful shortcuts for compiler invocations.
#
CC_T = ${CC} -c ${CFLAGS} -fPIC
CC_P = ${CC} -c ${CFLAGS} -p -fPIC
CC_S = ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED
COMMONHDRS= tm.h tconfig.h gcov-iov.h options.h
CLEANFILES+= ${COMMONHDRS} cs-tm.h cs-tconfig.h options.h optionlist
${COMMONHDRS}: ${.CURDIR}/../../usr.bin/cc/cc_tools/Makefile
${MAKE} -f ${.ALLSRC} MFILE=${.ALLSRC} GCCDIR=${GCCDIR} ${.TARGET}
${OBJS} beforedepend: ${COMMONHDRS}
${OBJS_T}: libgcov.c
${CC_T} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
.if !defined(NO_PIC)
${OBJS_S}: libgcov.c
${CC_S} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
.endif
.if ${MK_PROFILE} != "no"
${OBJS_P}: libgcov.c
${CC_P} -DL${.PREFIX} -o ${.TARGET} ${.ALLSRC:M*.c}
.endif
.include <bsd.lib.mk>