2005-04-19 00:01:25 -04:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
|
|
LIB= pmc
|
|
|
|
|
|
2018-06-06 22:03:22 -04:00
|
|
|
SRCS= libpmc.c pmclog.c libpmc_pmu_util.c libpmc_json.cc
|
|
|
|
|
INCS= pmc.h pmclog.h pmcformat.h
|
2005-04-19 00:01:25 -04:00
|
|
|
|
2020-03-24 22:28:47 -04:00
|
|
|
CFLAGS+= -I${SRCTOP}/${RELDIR:H}/libpmcstat
|
|
|
|
|
|
2019-12-11 19:14:01 -05:00
|
|
|
.if ${MACHINE_ARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \
|
|
|
|
|
${MACHINE_ARCH} == "i386"
|
2018-05-26 15:29:19 -04:00
|
|
|
|
2018-05-31 18:26:55 -04:00
|
|
|
.if ${MACHINE_ARCH} == "aarch64"
|
2018-05-26 15:29:19 -04:00
|
|
|
EVENT_ARCH="arm64"
|
2018-05-31 18:26:55 -04:00
|
|
|
.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
|
2018-05-26 15:29:19 -04:00
|
|
|
EVENT_ARCH="x86"
|
2018-05-31 18:26:55 -04:00
|
|
|
.elif ${MACHINE_ARCH} == "powerpc"
|
2018-05-26 15:29:19 -04:00
|
|
|
EVENT_ARCH="powerpc"
|
|
|
|
|
.endif
|
|
|
|
|
|
2019-12-11 12:38:15 -05:00
|
|
|
.if ${MK_DIRDEPS_BUILD} == "yes"
|
|
|
|
|
# avoid circular dependency
|
|
|
|
|
GENDIRDEPS_FILTER+= N${RELDIR:H}/libpmcstat
|
|
|
|
|
JEVENTS?= ${HOST_OBJTOP}/${RELDIR}/pmu-events/jevents
|
|
|
|
|
.else
|
2018-05-26 15:29:19 -04:00
|
|
|
JEVENTS= ${BTOOLSPATH:U.}/pmu-events/jevents
|
2019-12-11 12:38:15 -05:00
|
|
|
|
2018-06-15 15:19:36 -04:00
|
|
|
# This file is built in a subdirectory so never try to rebuild it here.
|
|
|
|
|
${JEVENTS}: .PHONY
|
|
|
|
|
.if make(*clean*)
|
|
|
|
|
SUBDIR+= pmu-events
|
|
|
|
|
.endif
|
2019-12-11 12:38:15 -05:00
|
|
|
.endif
|
2018-05-26 15:29:19 -04:00
|
|
|
|
2020-07-15 08:07:47 -04:00
|
|
|
libpmc_events.c: ${JEVENTS} .META
|
|
|
|
|
${JEVENTS} ${EVENT_ARCH} ${.CURDIR}/pmu-events/arch ${.TARGET}.tmp
|
|
|
|
|
if [ ! -e ${.TARGET} ] || ! cmp -s ${.TARGET} ${.TARGET}.tmp; then \
|
|
|
|
|
mv -f ${.TARGET}.tmp ${.TARGET}; \
|
|
|
|
|
fi
|
|
|
|
|
CLEANFILES+= libpmc_events.c libpmc_events.c.tmp
|
|
|
|
|
SRCS+= libpmc_events.c
|
2018-05-26 15:29:19 -04:00
|
|
|
.endif
|
|
|
|
|
|
2019-04-13 20:06:49 -04:00
|
|
|
WARNS?= 3
|
|
|
|
|
|
|
|
|
|
CFLAGS+= -I${.CURDIR}
|
|
|
|
|
CWARNFLAGS.gcc+= -Wno-shadow -Wno-cast-align
|
|
|
|
|
|
2019-09-17 02:07:08 -04:00
|
|
|
# Silence warnings about usage of deprecated std::auto_ptr
|
|
|
|
|
CXXWARNFLAGS+= -Wno-deprecated-declarations
|
|
|
|
|
|
2007-11-24 22:18:42 -05:00
|
|
|
MAN= pmc.3
|
|
|
|
|
MAN+= pmc_allocate.3
|
2007-11-25 01:38:55 -05:00
|
|
|
MAN+= pmc_attach.3
|
|
|
|
|
MAN+= pmc_capabilities.3
|
2007-11-24 22:18:42 -05:00
|
|
|
MAN+= pmc_configure_logfile.3
|
|
|
|
|
MAN+= pmc_disable.3
|
|
|
|
|
MAN+= pmc_event_names_of_class.3
|
2007-11-25 01:38:55 -05:00
|
|
|
MAN+= pmc_get_driver_stats.3
|
|
|
|
|
MAN+= pmc_get_msr.3
|
2007-11-24 22:18:42 -05:00
|
|
|
MAN+= pmc_init.3
|
2007-11-25 01:38:55 -05:00
|
|
|
MAN+= pmc_name_of_capability.3
|
|
|
|
|
MAN+= pmc_read.3
|
|
|
|
|
MAN+= pmc_set.3
|
|
|
|
|
MAN+= pmc_start.3
|
2007-11-23 07:30:55 -05:00
|
|
|
MAN+= pmclog.3
|
2012-03-28 16:58:30 -04:00
|
|
|
MAN+= pmc.soft.3
|
2005-04-19 00:01:25 -04:00
|
|
|
|
2008-09-16 12:57:14 -04:00
|
|
|
# PMC-dependent manual pages
|
2008-10-04 08:27:49 -04:00
|
|
|
MAN+= pmc.atom.3
|
2014-03-20 16:51:08 -04:00
|
|
|
MAN+= pmc.atomsilvermont.3
|
2008-10-04 08:27:49 -04:00
|
|
|
MAN+= pmc.core.3
|
|
|
|
|
MAN+= pmc.core2.3
|
2013-05-03 04:20:10 -04:00
|
|
|
MAN+= pmc.corei7.3
|
|
|
|
|
MAN+= pmc.corei7uc.3
|
2013-03-28 15:15:54 -04:00
|
|
|
MAN+= pmc.haswell.3
|
|
|
|
|
MAN+= pmc.haswelluc.3
|
2016-03-01 06:34:44 -05:00
|
|
|
MAN+= pmc.haswellxeon.3
|
2008-10-04 08:27:49 -04:00
|
|
|
MAN+= pmc.iaf.3
|
2012-09-06 09:54:01 -04:00
|
|
|
MAN+= pmc.ivybridge.3
|
2013-01-31 17:09:53 -05:00
|
|
|
MAN+= pmc.ivybridgexeon.3
|
2008-09-16 12:57:14 -04:00
|
|
|
MAN+= pmc.k7.3
|
|
|
|
|
MAN+= pmc.k8.3
|
2013-05-03 04:20:10 -04:00
|
|
|
MAN+= pmc.mips24k.3
|
|
|
|
|
MAN+= pmc.octeon.3
|
2008-09-16 12:57:14 -04:00
|
|
|
MAN+= pmc.p4.3
|
|
|
|
|
MAN+= pmc.p5.3
|
|
|
|
|
MAN+= pmc.p6.3
|
2012-03-01 16:23:26 -05:00
|
|
|
MAN+= pmc.sandybridge.3
|
2013-05-03 04:20:10 -04:00
|
|
|
MAN+= pmc.sandybridgeuc.3
|
|
|
|
|
MAN+= pmc.sandybridgexeon.3
|
|
|
|
|
MAN+= pmc.tsc.3
|
|
|
|
|
MAN+= pmc.ucf.3
|
2010-04-02 09:23:49 -04:00
|
|
|
MAN+= pmc.westmere.3
|
|
|
|
|
MAN+= pmc.westmereuc.3
|
2018-07-27 17:25:01 -04:00
|
|
|
MAN+= pmc.xscale.3
|
2008-09-16 12:57:14 -04:00
|
|
|
|
2005-04-19 00:01:25 -04:00
|
|
|
MLINKS+= \
|
2007-11-23 06:46:08 -05:00
|
|
|
pmc_allocate.3 pmc_release.3 \
|
2007-11-25 01:38:55 -05:00
|
|
|
pmc_attach.3 pmc_detach.3 \
|
|
|
|
|
pmc_capabilities.3 pmc_ncpu.3 \
|
|
|
|
|
pmc_capabilities.3 pmc_npmc.3 \
|
|
|
|
|
pmc_capabilities.3 pmc_pmcinfo.3 \
|
|
|
|
|
pmc_capabilities.3 pmc_cpuinfo.3 \
|
|
|
|
|
pmc_capabilities.3 pmc_width.3 \
|
2007-11-24 22:18:42 -05:00
|
|
|
pmc_configure_logfile.3 pmc_flush_logfile.3 \
|
|
|
|
|
pmc_configure_logfile.3 pmc_writelog.3 \
|
2007-11-23 07:21:34 -05:00
|
|
|
pmc_disable.3 pmc_enable.3 \
|
2007-11-24 06:05:36 -05:00
|
|
|
pmc_name_of_capability.3 pmc_name_of_class.3 \
|
|
|
|
|
pmc_name_of_capability.3 pmc_name_of_cputype.3 \
|
|
|
|
|
pmc_name_of_capability.3 pmc_name_of_disposition.3 \
|
|
|
|
|
pmc_name_of_capability.3 pmc_name_of_event.3 \
|
|
|
|
|
pmc_name_of_capability.3 pmc_name_of_mode.3 \
|
|
|
|
|
pmc_name_of_capability.3 pmc_name_of_state.3 \
|
2007-11-25 01:38:55 -05:00
|
|
|
pmc_read.3 pmc_rw.3 \
|
|
|
|
|
pmc_read.3 pmc_write.3 \
|
|
|
|
|
pmc_start.3 pmc_stop.3
|
2005-04-19 00:01:25 -04:00
|
|
|
|
2005-06-09 15:45:09 -04:00
|
|
|
MLINKS+= \
|
|
|
|
|
pmclog.3 pmclog_open.3 \
|
|
|
|
|
pmclog.3 pmclog_close.3 \
|
|
|
|
|
pmclog.3 pmclog_feed.3 \
|
|
|
|
|
pmclog.3 pmclog_read.3
|
|
|
|
|
|
2005-04-19 00:01:25 -04:00
|
|
|
.include <bsd.lib.mk>
|