1 # Copyright (C) 2013 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 LOCAL_PATH := $(call my-dir) 16 17 supported_platforms := linux darwin 18 cur_platform := $(filter $(HOST_OS),$(supported_platforms)) 19 20 ifdef cur_platform 21 22 # 23 # host libdwfl 24 # 25 26 include $(CLEAR_VARS) 27 28 LIBDWFL_SRC_FILES := \ 29 dwfl_begin.c \ 30 dwfl_build_id_find_elf.c \ 31 dwfl_build_id_find_debuginfo.c \ 32 dwfl_end.c \ 33 dwfl_error.c \ 34 dwfl_module.c \ 35 dwfl_module_addrdie.c \ 36 dwfl_module_addrsym.c \ 37 dwfl_module_build_id.c \ 38 dwfl_module_getdwarf.c \ 39 dwfl_module_getsym.c \ 40 dwfl_report_elf.c \ 41 find-debuginfo.c \ 42 image-header.c \ 43 libdwfl_crc32.c \ 44 libdwfl_crc32_file.c \ 45 offline.c \ 46 open.c \ 47 relocate.c 48 49 LOCAL_SRC_FILES := $(LIBDWFL_SRC_FILES) 50 51 LOCAL_C_INCLUDES := \ 52 $(LOCAL_PATH)/.. \ 53 $(LOCAL_PATH)/../lib \ 54 $(LOCAL_PATH)/../libdwfl \ 55 $(LOCAL_PATH)/../libebl \ 56 $(LOCAL_PATH)/../libdw \ 57 $(LOCAL_PATH)/../libelf 58 59 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../host-$(HOST_OS)-fixup 60 61 LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -D_GNU_SOURCE 62 63 # to suppress the "pointer of type void * used in arithmetic" warning 64 LOCAL_CFLAGS += -Wno-pointer-arith 65 66 ifeq ($(HOST_OS),darwin) 67 LOCAL_CFLAGS += -fnested-functions 68 endif 69 70 # libdwfl is one of the few libs that will never compile with clang 71 LOCAL_CLANG := false 72 73 # to fix machine-dependent issues 74 LOCAL_CFLAGS += -include $(LOCAL_PATH)/../host-$(HOST_OS)-fixup/AndroidFixup.h 75 76 LOCAL_MODULE:= libdwfl 77 78 include $(BUILD_HOST_STATIC_LIBRARY) 79 80 # 81 # target libdwfl 82 # 83 84 include $(CLEAR_VARS) 85 86 LOCAL_SRC_FILES := $(LIBDWFL_SRC_FILES) 87 88 LOCAL_C_INCLUDES := \ 89 $(LOCAL_PATH)/.. \ 90 $(LOCAL_PATH)/../lib \ 91 $(LOCAL_PATH)/../libdwfl \ 92 $(LOCAL_PATH)/../libebl \ 93 $(LOCAL_PATH)/../libdw \ 94 $(LOCAL_PATH)/../libelf 95 96 97 LOCAL_C_INCLUDES += $(LOCAL_PATH)/../bionic-fixup 98 99 LOCAL_CFLAGS += -include $(LOCAL_PATH)/../bionic-fixup/AndroidFixup.h 100 101 LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -Werror 102 103 # to suppress the "pointer of type void * used in arithmetic" warning 104 LOCAL_CFLAGS += -Wno-pointer-arith 105 106 LOCAL_MODULE:= libdwfl 107 108 include $(BUILD_STATIC_LIBRARY) 109 110 endif #cur_platform 111