1501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# Copyright (C) 2011 The Android Open Source Project 2501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# 3501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# Licensed under the Apache License, Version 2.0 (the "License"); 4501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# you may not use this file except in compliance with the License. 5501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# You may obtain a copy of the License at 6501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# 7501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# http://www.apache.org/licenses/LICENSE-2.0 8501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# 9501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# Unless required by applicable law or agreed to in writing, software 10501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# distributed under the License is distributed on an "AS IS" BASIS, 11501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# See the License for the specific language governing permissions and 13501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown# limitations under the License. 14501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown 15501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff BrownLOCAL_PATH:= $(call my-dir) 16501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown 1771363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesgeneric_src_files := \ 18501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown backtrace.c \ 19501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown backtrace-helper.c \ 20501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown demangle.c \ 21501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown map_info.c \ 22501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown ptrace.c \ 23501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown symbol_table.c 24501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown 2571363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesarm_src_files := \ 26501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown arch-arm/backtrace-arm.c \ 27501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown arch-arm/ptrace-arm.c 2871363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 2971363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesx86_src_files := \ 3071363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes arch-x86/backtrace-x86.c \ 3171363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes arch-x86/ptrace-x86.c 3271363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 3371363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesinclude $(CLEAR_VARS) 3471363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 3571363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SRC_FILES := $(generic_src_files) 3671363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 3771363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesifeq ($(TARGET_ARCH),arm) 3871363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SRC_FILES += $(arm_src_files) 391a5a497795d3d9a3d9278ca9c23668ab9dc11587Jing YuLOCAL_CFLAGS += -DCORKSCREW_HAVE_ARCH 40501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brownendif 4110484a068412613aaf3924f63a0b2f61400c7d1eJeff Brownifeq ($(TARGET_ARCH),x86) 4271363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SRC_FILES += $(x86_src_files) 4310484a068412613aaf3924f63a0b2f61400c7d1eJeff BrownLOCAL_CFLAGS += -DCORKSCREW_HAVE_ARCH 4410484a068412613aaf3924f63a0b2f61400c7d1eJeff Brownendif 45231e3c83a3a70b11160fb0da108ebf2e0e7470e2Chris Dearmanifeq ($(TARGET_ARCH),mips) 46231e3c83a3a70b11160fb0da108ebf2e0e7470e2Chris DearmanLOCAL_SRC_FILES += \ 47231e3c83a3a70b11160fb0da108ebf2e0e7470e2Chris Dearman arch-mips/backtrace-mips.c \ 48231e3c83a3a70b11160fb0da108ebf2e0e7470e2Chris Dearman arch-mips/ptrace-mips.c 49231e3c83a3a70b11160fb0da108ebf2e0e7470e2Chris DearmanLOCAL_CFLAGS += -DCORKSCREW_HAVE_ARCH 50231e3c83a3a70b11160fb0da108ebf2e0e7470e2Chris Dearmanendif 51501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown 521a5a497795d3d9a3d9278ca9c23668ab9dc11587Jing YuLOCAL_SHARED_LIBRARIES += libdl libcutils libgccdemangle 53501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown 54501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff BrownLOCAL_CFLAGS += -std=gnu99 -Werror 55501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff BrownLOCAL_MODULE := libcorkscrew 56501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff BrownLOCAL_MODULE_TAGS := optional 57501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Brown 58501edd29b823ce1301d2effdd3a9e4b6e2b20b76Jeff Browninclude $(BUILD_SHARED_LIBRARY) 5971363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 6071363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes# Build test. 6171363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesinclude $(CLEAR_VARS) 6271363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SRC_FILES := test.c 6371363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_CFLAGS += -std=gnu99 -Werror -fno-inline-small-functions 6471363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SHARED_LIBRARIES := libcorkscrew 6571363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_MODULE := libcorkscrew_test 6671363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_MODULE_TAGS := optional 6771363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesinclude $(BUILD_EXECUTABLE) 6871363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 6971363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 7071363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesifeq ($(HOST_OS)-$(HOST_ARCH),linux-x86) 7171363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 7271363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes# Build libcorkscrew. 7371363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesinclude $(CLEAR_VARS) 7471363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SRC_FILES += $(generic_src_files) $(x86_src_files) 7571363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_CFLAGS += -DCORKSCREW_HAVE_ARCH 7671363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SHARED_LIBRARIES += libgccdemangle 7771363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_STATIC_LIBRARIES += libcutils 7871363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_LDLIBS += -ldl -lrt 7971363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_CFLAGS += -std=gnu99 -Werror 8071363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_MODULE := libcorkscrew 8171363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_MODULE_TAGS := optional 8271363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesinclude $(BUILD_HOST_SHARED_LIBRARY) 8371363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 8471363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes# Build test. 8571363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesinclude $(CLEAR_VARS) 8671363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SRC_FILES := test.c 8771363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_CFLAGS += -std=gnu99 -Werror -fno-inline-small-functions 8871363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_SHARED_LIBRARIES := libcorkscrew 8971363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_MODULE := libcorkscrew_test 9071363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott HughesLOCAL_MODULE_TAGS := optional 9171363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesinclude $(BUILD_HOST_EXECUTABLE) 9271363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughes 9371363a8075e7916c2166cbdd8a0bf5a180ed4d54Elliott Hughesendif # linux-x86 94