Home | History | Annotate | Download | only in ltrace
      1 #
      2 # Copyright (C) 2014 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 
     17 # If you actually want to use ltrace, let android-bionic@ know.
     18 # One of its dependencies (libelf) won't build with clang,
     19 # and we want to know whether anyone actually cares...
     20 ifeq (true,false)
     21 
     22 LOCAL_PATH := $(call my-dir)
     23 
     24 # -------------------------------------------------------------------------
     25 
     26 include $(CLEAR_VARS)
     27 
     28 LOCAL_SRC_FILES := \
     29     bits.c \
     30     breakpoints.c \
     31     debug.c \
     32     demangle.c \
     33     dict.c \
     34     execute_program.c \
     35     expr.c \
     36     fetch.c \
     37     filter.c \
     38     glob.c \
     39     handle_event.c \
     40     lens.c \
     41     lens_default.c \
     42     lens_enum.c \
     43     libltrace.c \
     44     library.c \
     45     ltrace-elf.c \
     46     main.c \
     47     memstream.c \
     48     options.c \
     49     output.c \
     50     param.c \
     51     printf.c \
     52     proc.c \
     53     prototype.c \
     54     read_config_file.c \
     55     summary.c \
     56     type.c \
     57     value.c \
     58     value_dict.c \
     59     vect.c \
     60     zero.c \
     61     sysdeps/linux-gnu/breakpoint.c \
     62     sysdeps/linux-gnu/events.c \
     63     sysdeps/linux-gnu/hooks.c \
     64     sysdeps/linux-gnu/proc.c \
     65     sysdeps/linux-gnu/trace.c \
     66 
     67 LOCAL_C_INCLUDES := \
     68     $(LOCAL_PATH)/ \
     69     $(LOCAL_PATH)/sysdeps/ \
     70     $(LOCAL_PATH)/sysdeps/linux-gnu \
     71 
     72 arm_path := sysdeps/linux-gnu/arm
     73 LOCAL_C_INCLUDES_arm := $(LOCAL_PATH)/$(arm_path)
     74 LOCAL_SRC_FILES_arm := \
     75     $(arm_path)/breakpoint.c \
     76     $(arm_path)/fetch.c \
     77     $(arm_path)/plt.c \
     78     $(arm_path)/regs.c \
     79     $(arm_path)/trace.c \
     80 
     81 arm64_path := sysdeps/linux-gnu/aarch64
     82 LOCAL_C_INCLUDES_arm64 := $(LOCAL_PATH)/$(arm64_path)
     83 LOCAL_SRC_FILES_arm64 := \
     84     $(arm64_path)/fetch.c \
     85     $(arm64_path)/plt.c \
     86     $(arm64_path)/regs.c \
     87     $(arm64_path)/trace.c \
     88 
     89 mips_path := sysdeps/linux-gnu/mips
     90 LOCAL_C_INCLUDES_mips := $(LOCAL_PATH)/$(mips_path)
     91 LOCAL_SRC_FILES_mips := \
     92     $(mips_path)/plt.c \
     93     $(mips_path)/regs.c \
     94     $(mips_path)/trace.c \
     95 
     96 x86_path := sysdeps/linux-gnu/x86
     97 LOCAL_C_INCLUDES_x86 := $(LOCAL_PATH)/$(x86_path)
     98 LOCAL_SRC_FILES_x86 := \
     99     $(x86_path)/fetch.c \
    100     $(x86_path)/plt.c \
    101     $(x86_path)/regs.c \
    102     $(x86_path)/trace.c \
    103 
    104 # x86_64 uses the same source as x86.
    105 LOCAL_C_INCLUDES_x86_64 := $(LOCAL_C_INCLUDES_x86)
    106 LOCAL_SRC_FILES_x86_64 := $(LOCAL_SRC_FILES_x86)
    107 
    108 LOCAL_CFLAGS += \
    109     -DELF_HASH_TAKES_CHARP=1 \
    110     -DHAVE_ALARM=1 \
    111     -DHAVE_ATEXIT=1 \
    112     -DHAVE_DLFCN_H=1 \
    113     -DHAVE_ELF_C_READ_MMAP=1 \
    114     -DHAVE_ELF_H=1 \
    115     -DHAVE_FCNTL_H=1 \
    116     -DHAVE_FORK=1 \
    117     -DHAVE_GELF_H=1 \
    118     -DHAVE_GETOPT_LONG=1 \
    119     -DHAVE_GETTIMEOFDAY=1 \
    120     -DHAVE_INTTYPES_H=1 \
    121     -DHAVE_LIBELF=1 \
    122     -DHAVE_LIBSELINUX=1 \
    123     -DHAVE_LIBSTDC__=1 \
    124     -DHAVE_LIBUNWIND=1 \
    125     -DHAVE_LIBUNWIND_PTRACE=1 \
    126     -DHAVE_LIMITS_H=1 \
    127     -DHAVE_MEMORY_H=1 \
    128     -DHAVE_MEMSET=1 \
    129     -DHAVE_OPEN_MEMSTREAM=1 \
    130     -DHAVE_SELINUX_SELINUX_H=1 \
    131     -DHAVE_STDDEF_H=1 \
    132     -DHAVE_STDINT_H=1 \
    133     -DHAVE_STDLIB_H=1 \
    134     -DHAVE_STRCHR=1 \
    135     -DHAVE_STRDUP=1 \
    136     -DHAVE_STRERROR=1 \
    137     -DHAVE_STRINGS_H=1 \
    138     -DHAVE_STRING_H=1 \
    139     -DHAVE_STRSIGNAL=1 \
    140     -DHAVE_STRTOL=1 \
    141     -DHAVE_STRTOUL=1 \
    142     -DHAVE_SYS_IOCTL_H=1 \
    143     -DHAVE_SYS_PARAM_H=1 \
    144     -DHAVE_SYS_STAT_H=1 \
    145     -DHAVE_SYS_TIME_H=1 \
    146     -DHAVE_SYS_TYPES_H=1 \
    147     -DHAVE_UNISTD_H=1 \
    148     -DHAVE_UNWINDER=1 \
    149     -DHAVE_VFORK=1 \
    150     -DHAVE_WORKING_FORK=1 \
    151     -DHAVE_WORKING_VFORK=1 \
    152     -DLT_OBJDIR='".libs"' \
    153     -DPACKAGE='"ltrace"' \
    154     -DPACKAGE_BUGREPORT='"ltrace-devel (at] lists.alioth.debian.org"' \
    155     -DPACKAGE_NAME='"ltrace"' \
    156     -DPACKAGE_STRING='"ltrace 0.7.91"' \
    157     -DPACKAGE_TARNAME='"ltrace"' \
    158     -DPACKAGE_URL='"http://ltrace.alioth.debian.org/"' \
    159     -DPACKAGE_VERSION='"0.7.91"' \
    160     -DVERSION='"0.7.91"' \
    161     -D_FILE_OFFSET_BITS=64 \
    162     -D_LARGE_FILES=1 \
    163     -DPKGDATADIR=NULL \
    164     -DSYSCONFDIR='"/etc/"' \
    165     -Drindex=strrchr \
    166 
    167 LOCAL_CFLAGS_32 += -DSIZEOF_LONG=4
    168 LOCAL_CFLAGS_64 += -DSIZEOF_LONG=8
    169 
    170 LOCAL_CFLAGS += \
    171     -Wall \
    172     -Wno-missing-field-initializers \
    173     -Wno-unused-parameter \
    174     -Wno-sign-compare \
    175 
    176 LOCAL_STATIC_LIBRARIES := libelf
    177 
    178 LOCAL_SHARED_LIBRARIES := \
    179     libcutils \
    180     libselinux \
    181     libunwind \
    182 
    183 LOCAL_MODULE := ltrace
    184 
    185 LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES)
    186 
    187 LOCAL_MODULE_TAGS := debug
    188 
    189 LOCAL_MODULE_TARGET_ARCH := arm arm64 x86 x86_64
    190 
    191 LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
    192 
    193 include $(BUILD_EXECUTABLE)
    194 
    195 endif
    196