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 8483955deSEmmanuel VadotCFLAGS+= -I${SRCTOP}/${RELDIR:H}/libpmcstat 9483955deSEmmanuel Vadot 10*2a6803deSAndrew Turner.if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_ARCH} == "amd64" || \ 11c039e959SEd Maste ${MACHINE_ARCH} == "i386" 12959826caSMatt Macy 13*2a6803deSAndrew Turner.if ${MACHINE_CPUARCH} == "aarch64" 14959826caSMatt MacyEVENT_ARCH="arm64" 157d1c2b74SMatt Macy.elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386" 16959826caSMatt MacyEVENT_ARCH="x86" 177d1c2b74SMatt Macy.elif ${MACHINE_ARCH} == "powerpc" 18959826caSMatt MacyEVENT_ARCH="powerpc" 19959826caSMatt Macy.endif 20959826caSMatt Macy 21312809feSSimon J. Gerraty.if ${MK_DIRDEPS_BUILD} == "yes" 22312809feSSimon J. Gerraty# avoid circular dependency 23312809feSSimon J. GerratyGENDIRDEPS_FILTER+= N${RELDIR:H}/libpmcstat 24312809feSSimon J. GerratyJEVENTS?= ${HOST_OBJTOP}/${RELDIR}/pmu-events/jevents 25312809feSSimon J. Gerraty.else 26959826caSMatt MacyJEVENTS= ${BTOOLSPATH:U.}/pmu-events/jevents 27312809feSSimon J. Gerraty 28b6b193e9SBryan Drewery# This file is built in a subdirectory so never try to rebuild it here. 29b6b193e9SBryan Drewery${JEVENTS}: .PHONY 30b6b193e9SBryan Drewery.if make(*clean*) 31b6b193e9SBryan DrewerySUBDIR+= pmu-events 32b6b193e9SBryan Drewery.endif 33312809feSSimon J. Gerraty.endif 34959826caSMatt Macy 35a9ea0047SAlex Richardsonlibpmc_events.c: ${JEVENTS} .META 36a9ea0047SAlex Richardson ${JEVENTS} ${EVENT_ARCH} ${.CURDIR}/pmu-events/arch ${.TARGET}.tmp 37a9ea0047SAlex Richardson if [ ! -e ${.TARGET} ] || ! cmp -s ${.TARGET} ${.TARGET}.tmp; then \ 38a9ea0047SAlex Richardson mv -f ${.TARGET}.tmp ${.TARGET}; \ 39a9ea0047SAlex Richardson fi 40a9ea0047SAlex RichardsonCLEANFILES+= libpmc_events.c libpmc_events.c.tmp 41959826caSMatt MacySRCS+= libpmc_events.c 42959826caSMatt Macy.endif 43959826caSMatt Macy 44b3d01a2aSEnji CooperWARNS?= 3 45b3d01a2aSEnji Cooper 46b3d01a2aSEnji CooperCFLAGS+= -I${.CURDIR} 47b3d01a2aSEnji CooperCWARNFLAGS.gcc+= -Wno-shadow -Wno-cast-align 48b3d01a2aSEnji Cooper 492c3f47a7SDimitry Andric# Silence warnings about usage of deprecated std::auto_ptr 502c3f47a7SDimitry AndricCXXWARNFLAGS+= -Wno-deprecated-declarations 512c3f47a7SDimitry Andric 52f28834c1SJoseph KoshyMAN= pmc.3 53f28834c1SJoseph KoshyMAN+= pmc_allocate.3 54677d4530SJoseph KoshyMAN+= pmc_attach.3 55677d4530SJoseph KoshyMAN+= pmc_capabilities.3 56f28834c1SJoseph KoshyMAN+= pmc_configure_logfile.3 57f28834c1SJoseph KoshyMAN+= pmc_disable.3 58f28834c1SJoseph KoshyMAN+= pmc_event_names_of_class.3 59677d4530SJoseph KoshyMAN+= pmc_get_driver_stats.3 60677d4530SJoseph KoshyMAN+= pmc_get_msr.3 61f28834c1SJoseph KoshyMAN+= pmc_init.3 62677d4530SJoseph KoshyMAN+= pmc_name_of_capability.3 63677d4530SJoseph KoshyMAN+= pmc_read.3 64677d4530SJoseph KoshyMAN+= pmc_set.3 65677d4530SJoseph KoshyMAN+= pmc_start.3 66115cadfdSJoseph KoshyMAN+= pmclog.3 67f5f9340bSFabien ThomasMAN+= pmc.soft.3 68ebccf1e3SJoseph Koshy 69d41debcaSJoseph Koshy# PMC-dependent manual pages 707042d3b9SJoseph KoshyMAN+= pmc.atom.3 71e8f021a3SHiren PanchasaraMAN+= pmc.atomsilvermont.3 727042d3b9SJoseph KoshyMAN+= pmc.core.3 737042d3b9SJoseph KoshyMAN+= pmc.core2.3 744bbdf747SUlrich SpörleinMAN+= pmc.corei7.3 754bbdf747SUlrich SpörleinMAN+= pmc.corei7uc.3 76cc0c1555SSean BrunoMAN+= pmc.haswell.3 77cc0c1555SSean BrunoMAN+= pmc.haswelluc.3 78aa5f0024SEdward Tomasz NapieralaMAN+= pmc.haswellxeon.3 797042d3b9SJoseph KoshyMAN+= pmc.iaf.3 801e862e5aSFabien ThomasMAN+= pmc.ivybridge.3 813f929d8cSSean BrunoMAN+= pmc.ivybridgexeon.3 82d41debcaSJoseph KoshyMAN+= pmc.k7.3 83d41debcaSJoseph KoshyMAN+= pmc.k8.3 844bbdf747SUlrich SpörleinMAN+= pmc.mips24k.3 854bbdf747SUlrich SpörleinMAN+= pmc.octeon.3 86d41debcaSJoseph KoshyMAN+= pmc.p4.3 87d41debcaSJoseph KoshyMAN+= pmc.p5.3 88d41debcaSJoseph KoshyMAN+= pmc.p6.3 8978d763a2SDavide ItalianoMAN+= pmc.sandybridge.3 9078d763a2SDavide ItalianoMAN+= pmc.sandybridgeuc.3 91fabe02f5SSean BrunoMAN+= pmc.sandybridgexeon.3 924bbdf747SUlrich SpörleinMAN+= pmc.tsc.3 934bbdf747SUlrich SpörleinMAN+= pmc.ucf.3 941fa7f10bSFabien ThomasMAN+= pmc.westmere.3 951fa7f10bSFabien ThomasMAN+= pmc.westmereuc.3 96c81b12e0SWarner LoshMAN+= pmc.xscale.3 97d41debcaSJoseph Koshy 98ebccf1e3SJoseph KoshyMLINKS+= \ 998fe4cbb6SJoseph Koshy pmc_allocate.3 pmc_release.3 \ 100677d4530SJoseph Koshy pmc_attach.3 pmc_detach.3 \ 101677d4530SJoseph Koshy pmc_capabilities.3 pmc_ncpu.3 \ 102677d4530SJoseph Koshy pmc_capabilities.3 pmc_npmc.3 \ 103677d4530SJoseph Koshy pmc_capabilities.3 pmc_pmcinfo.3 \ 104677d4530SJoseph Koshy pmc_capabilities.3 pmc_cpuinfo.3 \ 105677d4530SJoseph Koshy pmc_capabilities.3 pmc_width.3 \ 106f28834c1SJoseph Koshy pmc_configure_logfile.3 pmc_flush_logfile.3 \ 107f28834c1SJoseph Koshy pmc_configure_logfile.3 pmc_writelog.3 \ 1081ddf079eSJoseph Koshy pmc_disable.3 pmc_enable.3 \ 109fcdeaa05SJoseph Koshy pmc_name_of_capability.3 pmc_name_of_class.3 \ 110fcdeaa05SJoseph Koshy pmc_name_of_capability.3 pmc_name_of_cputype.3 \ 111fcdeaa05SJoseph Koshy pmc_name_of_capability.3 pmc_name_of_disposition.3 \ 112fcdeaa05SJoseph Koshy pmc_name_of_capability.3 pmc_name_of_event.3 \ 113fcdeaa05SJoseph Koshy pmc_name_of_capability.3 pmc_name_of_mode.3 \ 114fcdeaa05SJoseph Koshy pmc_name_of_capability.3 pmc_name_of_state.3 \ 115677d4530SJoseph Koshy pmc_read.3 pmc_rw.3 \ 116677d4530SJoseph Koshy pmc_read.3 pmc_write.3 \ 117677d4530SJoseph Koshy pmc_start.3 pmc_stop.3 118ebccf1e3SJoseph Koshy 119f263522aSJoseph KoshyMLINKS+= \ 120f263522aSJoseph Koshy pmclog.3 pmclog_open.3 \ 121f263522aSJoseph Koshy pmclog.3 pmclog_close.3 \ 122f263522aSJoseph Koshy pmclog.3 pmclog_feed.3 \ 123f263522aSJoseph Koshy pmclog.3 pmclog_read.3 124f263522aSJoseph Koshy 125ebccf1e3SJoseph Koshy.include <bsd.lib.mk> 126