]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - lib/libpmc/Makefile
Merge llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp
[FreeBSD/FreeBSD.git] / lib / libpmc / Makefile
1 # $FreeBSD$
2
3 PACKAGE=lib${LIB}
4 LIB=    pmc
5
6 SRCS=   libpmc.c pmclog.c libpmc_pmu_util.c libpmc_json.cc
7 INCS=   pmc.h pmclog.h pmcformat.h
8
9 CFLAGS+= -I${.CURDIR}
10 CWARNFLAGS.gcc+= -Wno-shadow -Wno-cast-align
11
12 .if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
13
14 .if ${MACHINE_ARCH} == "aarch64"
15 EVENT_ARCH="arm64"
16 .elif ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
17 EVENT_ARCH="x86"
18 .elif ${MACHINE_ARCH} == "powerpc"
19 EVENT_ARCH="powerpc"
20 .endif
21
22 .if ${MK_DIRDEPS_BUILD} == "yes"
23 # avoid circular dependency
24 CFLAGS+= -I${SRCTOP}/${RELDIR:H}/libpmcstat
25 GENDIRDEPS_FILTER+= N${RELDIR:H}/libpmcstat
26 JEVENTS?= ${HOST_OBJTOP}/${RELDIR}/pmu-events/jevents
27 .else
28 JEVENTS= ${BTOOLSPATH:U.}/pmu-events/jevents
29
30 # This file is built in a subdirectory so never try to rebuild it here.
31 ${JEVENTS}: .PHONY
32 .if make(*clean*)
33 SUBDIR+= pmu-events
34 .endif
35 .endif
36
37 libpmc_events.c: ${JEVENTS}
38         ${JEVENTS} ${EVENT_ARCH} ${.CURDIR}/pmu-events/arch libpmc_events.c
39 SRCS+= libpmc_events.c
40 .endif
41
42 # Silence warnings about usage of deprecated std::auto_ptr
43 CXXWARNFLAGS+=  -Wno-deprecated-declarations
44
45 MAN=    pmc.3
46 MAN+=   pmc_allocate.3
47 MAN+=   pmc_attach.3
48 MAN+=   pmc_capabilities.3
49 MAN+=   pmc_configure_logfile.3
50 MAN+=   pmc_disable.3
51 MAN+=   pmc_event_names_of_class.3
52 MAN+=   pmc_get_driver_stats.3
53 MAN+=   pmc_get_msr.3
54 MAN+=   pmc_init.3
55 MAN+=   pmc_name_of_capability.3
56 MAN+=   pmc_read.3
57 MAN+=   pmc_set.3
58 MAN+=   pmc_start.3
59 MAN+=   pmclog.3
60 MAN+=   pmc.soft.3
61
62 # PMC-dependent manual pages
63 MAN+=   pmc.atom.3
64 MAN+=   pmc.atomsilvermont.3
65 MAN+=   pmc.core.3
66 MAN+=   pmc.core2.3
67 MAN+=   pmc.corei7.3
68 MAN+=   pmc.corei7uc.3
69 MAN+=   pmc.haswell.3
70 MAN+=   pmc.haswelluc.3
71 MAN+=   pmc.haswellxeon.3
72 MAN+=   pmc.iaf.3
73 MAN+=   pmc.ivybridge.3
74 MAN+=   pmc.ivybridgexeon.3
75 MAN+=   pmc.k7.3
76 MAN+=   pmc.k8.3
77 MAN+=   pmc.mips24k.3
78 MAN+=   pmc.octeon.3
79 MAN+=   pmc.p4.3
80 MAN+=   pmc.p5.3
81 MAN+=   pmc.p6.3
82 MAN+=   pmc.sandybridge.3
83 MAN+=   pmc.sandybridgeuc.3
84 MAN+=   pmc.sandybridgexeon.3
85 MAN+=   pmc.tsc.3
86 MAN+=   pmc.ucf.3
87 MAN+=   pmc.westmere.3
88 MAN+=   pmc.westmereuc.3
89 MAN+=   pmc.xscale.3
90
91 MLINKS+= \
92         pmc_allocate.3 pmc_release.3 \
93         pmc_attach.3 pmc_detach.3 \
94         pmc_capabilities.3 pmc_ncpu.3 \
95         pmc_capabilities.3 pmc_npmc.3 \
96         pmc_capabilities.3 pmc_pmcinfo.3 \
97         pmc_capabilities.3 pmc_cpuinfo.3 \
98         pmc_capabilities.3 pmc_width.3 \
99         pmc_configure_logfile.3 pmc_flush_logfile.3 \
100         pmc_configure_logfile.3 pmc_writelog.3 \
101         pmc_disable.3 pmc_enable.3 \
102         pmc_name_of_capability.3 pmc_name_of_class.3 \
103         pmc_name_of_capability.3 pmc_name_of_cputype.3 \
104         pmc_name_of_capability.3 pmc_name_of_disposition.3 \
105         pmc_name_of_capability.3 pmc_name_of_event.3 \
106         pmc_name_of_capability.3 pmc_name_of_mode.3 \
107         pmc_name_of_capability.3 pmc_name_of_state.3 \
108         pmc_read.3 pmc_rw.3 \
109         pmc_read.3 pmc_write.3 \
110         pmc_start.3 pmc_stop.3
111
112 MLINKS+= \
113         pmclog.3 pmclog_open.3 \
114         pmclog.3 pmclog_close.3 \
115         pmclog.3 pmclog_feed.3 \
116         pmclog.3 pmclog_read.3
117
118 .include <bsd.lib.mk>