Home | History | Annotate | Download | only in libdwfl
      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