| # Copyright (C) 2012 The Android Open Source Project |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| LOCAL_PATH := $(call my-dir) |
| |
| ifeq ($(TARGET_PRODUCT),sdk) |
| supported_platforms := none |
| else |
| supported_platforms := linux-x86 darwin-x86 |
| endif |
| |
| cur_platform := $(filter $(HOST_OS)-$(HOST_ARCH),$(supported_platforms)) |
| |
| ifdef cur_platform |
| |
| # |
| # host libperf |
| # |
| |
| include $(CLEAR_VARS) |
| |
| libperf_src_files := \ |
| util/added/rbtree.c \ |
| util/abspath.c \ |
| util/alias.c \ |
| util/annotate.c \ |
| util/bitmap.c \ |
| util/build-id.c \ |
| util/callchain.c \ |
| util/cgroup.c \ |
| util/color.c \ |
| util/config.c \ |
| util/cpumap.c \ |
| util/ctype.c \ |
| util/debug.c \ |
| util/debugfs.c \ |
| util/environment.c \ |
| util/event.c \ |
| util/evlist.c \ |
| util/evsel.c \ |
| util/exec_cmd.c \ |
| util/header.c \ |
| util/help.c \ |
| util/hist.c \ |
| util/hweight.c \ |
| util/levenshtein.c \ |
| util/map.c \ |
| util/pager.c \ |
| util/parse-events.c \ |
| util/parse-options.c \ |
| util/path.c \ |
| util/probe-event.c \ |
| util/probe-finder.c \ |
| util/pstack.c \ |
| util/quote.c \ |
| util/run-command.c \ |
| util/session.c \ |
| util/sigchain.c \ |
| util/sort.c \ |
| util/strbuf.c \ |
| util/strfilter.c \ |
| util/string.c \ |
| util/strlist.c \ |
| util/svghelper.c \ |
| util/symbol.c \ |
| util/thread.c \ |
| util/thread_map.c \ |
| util/top.c \ |
| util/trace-event-info.c \ |
| util/trace-event-parse.c \ |
| util/trace-event-read.c \ |
| util/trace-event-scripting.c \ |
| util/usage.c \ |
| util/util.c \ |
| util/values.c \ |
| util/wrapper.c \ |
| util/xyarray.c |
| |
| LOCAL_SRC_FILES := $(libperf_src_files) |
| |
| LOCAL_SRC_FILES += \ |
| arch/arm/util/dwarf-regs.c |
| |
| LOCAL_CFLAGS := -DNO_NEWT_SUPPORT -DNO_LIBPERL -DNO_LIBPYTHON -DNO_STRLCPY -std=gnu99 |
| |
| LOCAL_CFLAGS += -DHAVE_ANDROID_DEMANGLE |
| LOCAL_CFLAGS += -DDWARF_SUPPORT |
| |
| # various macros |
| LOCAL_CFLAGS += -DETC_PERFCONFIG='"etc/perfconfig"' \ |
| -DPREFIX='""' \ |
| -DPERF_EXEC_PATH='"libexec/perf-core"' |
| |
| # in list.h: entry->next = LIST_POISON1; |
| LOCAL_CFLAGS += -Wno-pointer-arith |
| |
| # for __used |
| LOCAL_CFLAGS += -include $(LOCAL_PATH)/util/include/linux/compiler.h |
| |
| LOCAL_CFLAGS += \ |
| -include $(LOCAL_PATH)/host-$(HOST_OS)-fixup/AndroidFixup.h |
| |
| LOCAL_C_INCLUDES := external/elfutils external/elfutils/libelf external/elfutils/libdw external/elfutils/libdwfl |
| |
| LOCAL_C_INCLUDES += $(LOCAL_PATH)/host-$(HOST_OS)-fixup |
| |
| LOCAL_MODULE := libperf |
| |
| include $(BUILD_HOST_STATIC_LIBRARY) |
| |
| # |
| # target libperf |
| # |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_SRC_FILES := $(libperf_src_files) |
| |
| LOCAL_CFLAGS := -DNO_NEWT_SUPPORT -DNO_LIBPERL -DNO_LIBPYTHON -std=gnu99 |
| |
| LOCAL_CFLAGS += -DHAVE_ANDROID_DEMANGLE |
| LOCAL_CFLAGS += -DDWARF_SUPPORT |
| |
| # various macros |
| LOCAL_CFLAGS += -DETC_PERFCONFIG='"etc/perfconfig"' \ |
| -DPREFIX='""' \ |
| -DPERF_EXEC_PATH='"libexec/perf-core"' |
| |
| # in list.h: entry->next = LIST_POISON1; |
| LOCAL_CFLAGS += -Wno-pointer-arith |
| |
| # for __used |
| LOCAL_CFLAGS += -include $(LOCAL_PATH)/util/include/linux/compiler.h |
| |
| # for various GNU extensions |
| LOCAL_CFLAGS += -include external/elfutils/bionic-fixup/AndroidFixup.h |
| |
| LOCAL_CFLAGS += -Wno-attributes -Werror $(call cc-option,-Wno-error=unused-parameter) |
| |
| LOCAL_C_INCLUDES := external/elfutils external/elfutils/libelf external/elfutils/libdw external/elfutils/libdwfl |
| |
| LOCAL_MODULE := libperf |
| |
| include $(BUILD_STATIC_LIBRARY) |
| |
| # |
| # host perf |
| # |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := perfhost |
| |
| perf_src_files := \ |
| builtin-annotate.c \ |
| builtin-buildid-cache.c \ |
| builtin-buildid-list.c \ |
| builtin-diff.c \ |
| builtin-evlist.c \ |
| builtin-help.c \ |
| builtin-inject.c \ |
| builtin-kmem.c \ |
| builtin-kvm.c \ |
| builtin-list.c \ |
| builtin-lock.c \ |
| builtin-probe.c \ |
| builtin-record.c \ |
| builtin-report.c \ |
| builtin-sched.c \ |
| builtin-script.c \ |
| builtin-stat.c \ |
| builtin-timechart.c \ |
| builtin-top.c \ |
| perf.c |
| |
| LOCAL_SRC_FILES := $(perf_src_files) |
| |
| LOCAL_STATIC_LIBRARIES := libperf libdwfl libdw libebl libelf libgccdemangle |
| |
| LOCAL_LDLIBS := -lpthread -ldl |
| |
| # for clock_gettime |
| ifeq ($(HOST_OS),linux) |
| LOCAL_LDLIBS += -lrt |
| endif |
| |
| # common |
| LOCAL_CFLAGS := -DNO_NEWT_SUPPORT -DNO_LIBPERL -DNO_LIBPYTHON -DNO_STRLCPY -std=gnu99 |
| |
| LOCAL_CFLAGS += \ |
| -include $(LOCAL_PATH)/host-$(HOST_OS)-fixup/AndroidFixup.h |
| |
| # in list.h: entry->next = LIST_POISON1; |
| LOCAL_CFLAGS += -Wno-pointer-arith |
| |
| # for __used |
| LOCAL_CFLAGS += -include $(LOCAL_PATH)/util/include/linux/compiler.h |
| |
| LOCAL_CFLAGS += -DHAVE_ANDROID_DEMANGLE |
| |
| # unique |
| LOCAL_CFLAGS += -DPERF_HTML_PATH='""' |
| LOCAL_CFLAGS += -DPERF_MAN_PATH='""' |
| LOCAL_CFLAGS += -DPERF_INFO_PATH='""' |
| LOCAL_CFLAGS += -DPERF_VERSION='"perf.3.0.8_android"' |
| |
| LOCAL_C_INCLUDES += $(LOCAL_PATH)/host-$(HOST_OS)-fixup |
| |
| include $(BUILD_HOST_EXECUTABLE) |
| |
| # |
| # target perf |
| # |
| |
| include $(CLEAR_VARS) |
| |
| LOCAL_MODULE := perf |
| LOCAL_MODULE_TAGS := eng |
| |
| LOCAL_SRC_FILES := $(perf_src_files) |
| |
| LOCAL_SRC_FILES += \ |
| builtin-test.c \ |
| bench/mem-memcpy.c \ |
| bench/sched-messaging.c \ |
| bench/sched-pipe.c \ |
| arch/arm/util/dwarf-regs.c |
| |
| LOCAL_STATIC_LIBRARIES := libperf libdwfl libdw libebl libelf libgccdemangle |
| |
| LOCAL_SHARED_LIBRARIES := libdl |
| |
| # common |
| LOCAL_CFLAGS := -DNO_NEWT_SUPPORT -DNO_LIBPERL -DNO_LIBPYTHON -std=gnu99 |
| |
| # in list.h: entry->next = LIST_POISON1; |
| LOCAL_CFLAGS += -Wno-pointer-arith |
| |
| # for __used |
| LOCAL_CFLAGS += -include $(LOCAL_PATH)/util/include/linux/compiler.h |
| |
| # for various GNU extensions |
| LOCAL_CFLAGS += -include external/elfutils/bionic-fixup/AndroidFixup.h |
| |
| LOCAL_CFLAGS += -DHAVE_ANDROID_DEMANGLE |
| |
| # unique |
| LOCAL_CFLAGS += -DPERF_HTML_PATH='""' |
| LOCAL_CFLAGS += -DPERF_MAN_PATH='""' |
| LOCAL_CFLAGS += -DPERF_INFO_PATH='""' |
| LOCAL_CFLAGS += -DPERF_VERSION='"perf.3.0.8_android"' |
| |
| LOCAL_CFLAGS += -Wno-attributes -Werror $(call cc-option,-Wno-error=unused-parameter) |
| |
| include $(BUILD_EXECUTABLE) |
| |
| endif #cur_platform |