| # Copyright 2007 The Android Open Source Project |
| # |
| # The libffi code is organized primarily by architecture, but at some |
| # point OS-specific issues started to creep in. In some cases there are |
| # OS-specific source files, in others there are just #ifdefs in the code. |
| # We need to generate the appropriate defines and select the right set of |
| # source files for the OS and architecture. |
| |
| ifneq ($(TARGET_ARCH),arm) |
| |
| LOCAL_PATH:= $(call my-dir) |
| include $(CLEAR_VARS) |
| |
| LOCAL_C_INCLUDES := \ |
| external/libffi/include \ |
| external/libffi/$(TARGET_OS)-$(TARGET_ARCH) |
| |
| LOCAL_SRC_FILES := src/debug.c src/prep_cif.c src/types.c \ |
| src/raw_api.c src/java_raw_api.c |
| |
| ifeq ($(TARGET_OS)-$(TARGET_ARCH),linux-arm) |
| LOCAL_SRC_FILES += src/arm/sysv.S src/arm/ffi.c |
| endif |
| ifeq ($(TARGET_OS)-$(TARGET_ARCH),linux-x86) |
| LOCAL_SRC_FILES += src/x86/ffi.c src/x86/sysv.S |
| endif |
| |
| ifeq ($(LOCAL_SRC_FILES),) |
| LOCAL_SRC_FILES := your-architecture-not-supported-by-ffi-makefile.c |
| endif |
| |
| LOCAL_MODULE := libffi |
| |
| |
| include $(BUILD_SHARED_LIBRARY) |
| |
| |
| include external/libffi/testsuite/Android.mk |
| |
| endif |