xref: /freebsd/lib/libpmc/Makefile (revision 2c3f47a727372086b41ef9ce06eb1f1eb83a67d3)
1ebccf1e3SJoseph Koshy# $FreeBSD$
2ebccf1e3SJoseph Koshy
3ebccf1e3SJoseph KoshyLIB=	pmc
4ebccf1e3SJoseph Koshy
5f992dd4bSMatt MacySRCS=	libpmc.c pmclog.c libpmc_pmu_util.c libpmc_json.cc
6f992dd4bSMatt MacyINCS=	pmc.h pmclog.h pmcformat.h
7ebccf1e3SJoseph Koshy
87d1c2b74SMatt Macy.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
9959826caSMatt Macy
107d1c2b74SMatt Macy.if ${MACHINE_ARCH} == "aarch64"
11959826caSMatt MacyEVENT_ARCH="arm64"
127d1c2b74SMatt Macy.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
13959826caSMatt MacyEVENT_ARCH="x86"
147d1c2b74SMatt Macy.elif ${MACHINE_ARCH} == "powerpc"
15959826caSMatt MacyEVENT_ARCH="powerpc"
16959826caSMatt Macy.endif
17959826caSMatt Macy
18959826caSMatt MacyJEVENTS= ${BTOOLSPATH:U.}/pmu-events/jevents
19b6b193e9SBryan Drewery# This file is built in a subdirectory so never try to rebuild it here.
20b6b193e9SBryan Drewery${JEVENTS}: .PHONY
21b6b193e9SBryan Drewery.if make(*clean*)
22b6b193e9SBryan DrewerySUBDIR+= pmu-events
23b6b193e9SBryan Drewery.endif
24959826caSMatt Macy
25959826caSMatt Macylibpmc_events.c: ${JEVENTS}
26959826caSMatt Macy	${JEVENTS} ${EVENT_ARCH} ${.CURDIR}/pmu-events/arch libpmc_events.c
27959826caSMatt MacySRCS+= libpmc_events.c
28959826caSMatt Macy.endif
29959826caSMatt Macy
30b3d01a2aSEnji CooperWARNS?=	3
31b3d01a2aSEnji Cooper
32b3d01a2aSEnji CooperCFLAGS+= -I${.CURDIR}
33b3d01a2aSEnji CooperCWARNFLAGS.gcc+= -Wno-shadow -Wno-cast-align
34b3d01a2aSEnji Cooper
35*2c3f47a7SDimitry Andric# Silence warnings about usage of deprecated std::auto_ptr
36*2c3f47a7SDimitry AndricCXXWARNFLAGS+=	-Wno-deprecated-declarations
37*2c3f47a7SDimitry Andric
38f28834c1SJoseph KoshyMAN=	pmc.3
39f28834c1SJoseph KoshyMAN+=	pmc_allocate.3
40677d4530SJoseph KoshyMAN+=	pmc_attach.3
41677d4530SJoseph KoshyMAN+=	pmc_capabilities.3
42f28834c1SJoseph KoshyMAN+=	pmc_configure_logfile.3
43f28834c1SJoseph KoshyMAN+=	pmc_disable.3
44f28834c1SJoseph KoshyMAN+=	pmc_event_names_of_class.3
45677d4530SJoseph KoshyMAN+=	pmc_get_driver_stats.3
46677d4530SJoseph KoshyMAN+=	pmc_get_msr.3
47f28834c1SJoseph KoshyMAN+=	pmc_init.3
48677d4530SJoseph KoshyMAN+=	pmc_name_of_capability.3
49677d4530SJoseph KoshyMAN+=	pmc_read.3
50677d4530SJoseph KoshyMAN+=	pmc_set.3
51677d4530SJoseph KoshyMAN+=	pmc_start.3
52115cadfdSJoseph KoshyMAN+=	pmclog.3
53f5f9340bSFabien ThomasMAN+=	pmc.soft.3
54ebccf1e3SJoseph Koshy
55d41debcaSJoseph Koshy# PMC-dependent manual pages
567042d3b9SJoseph KoshyMAN+=	pmc.atom.3
57e8f021a3SHiren PanchasaraMAN+=	pmc.atomsilvermont.3
587042d3b9SJoseph KoshyMAN+=	pmc.core.3
597042d3b9SJoseph KoshyMAN+=	pmc.core2.3
604bbdf747SUlrich SpörleinMAN+=	pmc.corei7.3
614bbdf747SUlrich SpörleinMAN+=	pmc.corei7uc.3
62cc0c1555SSean BrunoMAN+=	pmc.haswell.3
63cc0c1555SSean BrunoMAN+=	pmc.haswelluc.3
64aa5f0024SEdward Tomasz NapieralaMAN+=	pmc.haswellxeon.3
657042d3b9SJoseph KoshyMAN+=	pmc.iaf.3
661e862e5aSFabien ThomasMAN+=	pmc.ivybridge.3
673f929d8cSSean BrunoMAN+=	pmc.ivybridgexeon.3
68d41debcaSJoseph KoshyMAN+=	pmc.k7.3
69d41debcaSJoseph KoshyMAN+=	pmc.k8.3
704bbdf747SUlrich SpörleinMAN+=	pmc.mips24k.3
714bbdf747SUlrich SpörleinMAN+=	pmc.octeon.3
72d41debcaSJoseph KoshyMAN+=	pmc.p4.3
73d41debcaSJoseph KoshyMAN+=	pmc.p5.3
74d41debcaSJoseph KoshyMAN+=	pmc.p6.3
7578d763a2SDavide ItalianoMAN+=	pmc.sandybridge.3
7678d763a2SDavide ItalianoMAN+=	pmc.sandybridgeuc.3
77fabe02f5SSean BrunoMAN+=	pmc.sandybridgexeon.3
784bbdf747SUlrich SpörleinMAN+=	pmc.tsc.3
794bbdf747SUlrich SpörleinMAN+=	pmc.ucf.3
801fa7f10bSFabien ThomasMAN+=	pmc.westmere.3
811fa7f10bSFabien ThomasMAN+=	pmc.westmereuc.3
82c81b12e0SWarner LoshMAN+=	pmc.xscale.3
83d41debcaSJoseph Koshy
84ebccf1e3SJoseph KoshyMLINKS+= \
858fe4cbb6SJoseph Koshy	pmc_allocate.3 pmc_release.3 \
86677d4530SJoseph Koshy	pmc_attach.3 pmc_detach.3 \
87677d4530SJoseph Koshy	pmc_capabilities.3 pmc_ncpu.3 \
88677d4530SJoseph Koshy	pmc_capabilities.3 pmc_npmc.3 \
89677d4530SJoseph Koshy	pmc_capabilities.3 pmc_pmcinfo.3 \
90677d4530SJoseph Koshy	pmc_capabilities.3 pmc_cpuinfo.3 \
91677d4530SJoseph Koshy	pmc_capabilities.3 pmc_width.3 \
92f28834c1SJoseph Koshy	pmc_configure_logfile.3 pmc_flush_logfile.3 \
93f28834c1SJoseph Koshy	pmc_configure_logfile.3 pmc_writelog.3 \
941ddf079eSJoseph Koshy	pmc_disable.3 pmc_enable.3 \
95fcdeaa05SJoseph Koshy	pmc_name_of_capability.3 pmc_name_of_class.3 \
96fcdeaa05SJoseph Koshy	pmc_name_of_capability.3 pmc_name_of_cputype.3 \
97fcdeaa05SJoseph Koshy	pmc_name_of_capability.3 pmc_name_of_disposition.3 \
98fcdeaa05SJoseph Koshy	pmc_name_of_capability.3 pmc_name_of_event.3 \
99fcdeaa05SJoseph Koshy	pmc_name_of_capability.3 pmc_name_of_mode.3 \
100fcdeaa05SJoseph Koshy	pmc_name_of_capability.3 pmc_name_of_state.3 \
101677d4530SJoseph Koshy	pmc_read.3 pmc_rw.3 \
102677d4530SJoseph Koshy	pmc_read.3 pmc_write.3 \
103677d4530SJoseph Koshy	pmc_start.3 pmc_stop.3
104ebccf1e3SJoseph Koshy
105f263522aSJoseph KoshyMLINKS+= \
106f263522aSJoseph Koshy	pmclog.3 pmclog_open.3 \
107f263522aSJoseph Koshy	pmclog.3 pmclog_close.3 \
108f263522aSJoseph Koshy	pmclog.3 pmclog_feed.3 \
109f263522aSJoseph Koshy	pmclog.3 pmclog_read.3
110f263522aSJoseph Koshy
111ebccf1e3SJoseph Koshy.include <bsd.lib.mk>
112