1# 2# Copyright (C) 2015 The Android Open Source Project 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17LOCAL_PATH := $(call my-dir) 18 19simpleperf_common_cppflags := -std=c++11 -Wall -Wextra -Werror -Wunused 20 21simpleperf_common_shared_libraries := \ 22 libbase \ 23 libLLVM \ 24 25LLVM_ROOT_PATH := external/llvm 26 27libsimpleperf_src_files := \ 28 cmd_dumprecord.cpp \ 29 cmd_help.cpp \ 30 cmd_list.cpp \ 31 cmd_record.cpp \ 32 cmd_stat.cpp \ 33 command.cpp \ 34 environment.cpp \ 35 event_attr.cpp \ 36 event_fd.cpp \ 37 event_selection_set.cpp \ 38 event_type.cpp \ 39 read_elf.cpp \ 40 record.cpp \ 41 record_file.cpp \ 42 utils.cpp \ 43 workload.cpp \ 44 45include $(CLEAR_VARS) 46LOCAL_CLANG := true 47LOCAL_CPPFLAGS := $(simpleperf_common_cppflags) 48LOCAL_SRC_FILES := $(libsimpleperf_src_files) 49LOCAL_SHARED_LIBRARIES := $(simpleperf_common_shared_libraries) 50LOCAL_MODULE := libsimpleperf 51LOCAL_MODULE_TAGS := debug 52LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) 53LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 54include $(LLVM_ROOT_PATH)/llvm.mk 55include $(LLVM_DEVICE_BUILD_MK) 56include $(BUILD_STATIC_LIBRARY) 57 58ifeq ($(HOST_OS),linux) 59include $(CLEAR_VARS) 60LOCAL_CLANG := true 61LOCAL_CPPFLAGS := $(simpleperf_common_cppflags) 62LOCAL_SRC_FILES := $(libsimpleperf_src_files) 63LOCAL_SHARED_LIBRARIES := $(simpleperf_common_shared_libraries) 64LOCAL_LDLIBS := -lrt 65LOCAL_MODULE := libsimpleperf 66LOCAL_MODULE_TAGS := optional 67LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 68include $(LLVM_ROOT_PATH)/llvm.mk 69include $(LLVM_HOST_BUILD_MK) 70include $(BUILD_HOST_STATIC_LIBRARY) 71endif 72 73include $(CLEAR_VARS) 74LOCAL_CLANG := true 75LOCAL_CPPFLAGS := $(simpleperf_common_cppflags) 76LOCAL_SRC_FILES := main.cpp 77LOCAL_WHOLE_STATIC_LIBRARIES := libsimpleperf 78LOCAL_SHARED_LIBRARIES := $(simpleperf_common_shared_libraries) 79LOCAL_MODULE := simpleperf 80LOCAL_MODULE_TAGS := debug 81LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) 82LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 83include $(BUILD_EXECUTABLE) 84 85ifeq ($(HOST_OS),linux) 86include $(CLEAR_VARS) 87LOCAL_CLANG := true 88LOCAL_CPPFLAGS := $(simpleperf_common_cppflags) 89LOCAL_SRC_FILES := main.cpp 90LOCAL_WHOLE_STATIC_LIBRARIES := libsimpleperf 91LOCAL_SHARED_LIBRARIES := $(simpleperf_common_shared_libraries) 92LOCAL_LDLIBS := -lrt 93LOCAL_MODULE := simpleperf 94LOCAL_MODULE_TAGS := optional 95LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 96include $(BUILD_HOST_EXECUTABLE) 97endif 98 99simpleperf_unit_test_src_files := \ 100 cmd_dumprecord_test.cpp \ 101 cmd_list_test.cpp \ 102 cmd_record_test.cpp \ 103 cmd_stat_test.cpp \ 104 command_test.cpp \ 105 environment_test.cpp \ 106 gtest_main.cpp \ 107 record_file_test.cpp \ 108 record_test.cpp \ 109 workload_test.cpp \ 110 111include $(CLEAR_VARS) 112LOCAL_CLANG := true 113LOCAL_CPPFLAGS := $(simpleperf_common_cppflags) 114LOCAL_SRC_FILES := $(simpleperf_unit_test_src_files) 115LOCAL_WHOLE_STATIC_LIBRARIES := libsimpleperf 116LOCAL_SHARED_LIBRARIES := $(simpleperf_common_shared_libraries) 117LOCAL_MODULE := simpleperf_unit_test 118LOCAL_MODULE_TAGS := optional 119LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 120include $(BUILD_NATIVE_TEST) 121 122ifeq ($(HOST_OS),linux) 123include $(CLEAR_VARS) 124LOCAL_CLANG := true 125LOCAL_CPPFLAGS := $(simpleperf_common_cppflags) 126LOCAL_SRC_FILES := $(simpleperf_unit_test_src_files) 127LOCAL_WHOLE_STATIC_LIBRARIES := libsimpleperf 128LOCAL_SHARED_LIBRARIES := $(simpleperf_common_shared_libraries) 129LOCAL_MODULE := simpleperf_unit_test 130LOCAL_MODULE_TAGS := optional 131LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk 132include $(BUILD_HOST_NATIVE_TEST) 133endif 134