15c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen# function to find all *.cpp files under a directory
2e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectdefine all-cpp-files-under
3e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project$(patsubst ./%,%, \
4e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project  $(shell cd $(LOCAL_PATH) ; \
5e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project          find $(1) -name "*.cpp" -and -not -name ".*") \
6e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project )
7e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectendef
8e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
9e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
10e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLOCAL_PATH:= $(call my-dir)
115c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenNFA := src/nfa
125c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenNFC := src/nfc
135c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenHAL := src/hal
145c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenUDRV := src/udrv
155c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenHALIMPL := halimpl/bcm2079x
165c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenD_CFLAGS := -DANDROID -DBUILDCFG=1
17e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
18e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
195c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen######################################
205c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen# Build shared library system/lib/libnfc-nci.so for stack code.
21e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
22e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectinclude $(CLEAR_VARS)
23e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLOCAL_PRELINK_MODULE := false
24e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLOCAL_ARM_MODE := arm
255c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_MODULE := libnfc-nci
26e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source ProjectLOCAL_MODULE_TAGS := optional
27878a04bd7aedc8177c8200fdeea42a9b0d281417Ying WangLOCAL_SHARED_LIBRARIES := libhardware_legacy libcutils liblog libdl libstlport libhardware
285c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_CFLAGS := $(D_CFLAGS)
295c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_C_INCLUDES := external/stlport/stlport bionic/ bionic/libstdc++/include \
305c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/src/include \
315c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/src/gki/ulinux \
325c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/src/gki/common \
335c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(NFA)/include \
345c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(NFA)/int \
355c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(NFC)/include \
365c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(NFC)/int \
375c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/src/hal/include \
385c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/src/hal/int
395c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_SRC_FILES := \
405c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(call all-c-files-under, $(NFA)/ce $(NFA)/dm $(NFA)/ee) \
415c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(call all-c-files-under, $(NFA)/hci $(NFA)/int $(NFA)/p2p $(NFA)/rw $(NFA)/sys) \
425c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(call all-c-files-under, $(NFC)/int $(NFC)/llcp $(NFC)/nci $(NFC)/ndef $(NFC)/nfc $(NFC)/tags) \
435c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(call all-c-files-under, src/adaptation) \
445c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(call all-cpp-files-under, src/adaptation) \
455c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(call all-c-files-under, src/gki) \
465c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    src/nfca_version.c
475c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coeneninclude $(BUILD_SHARED_LIBRARY)
485c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
495c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
505c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen######################################
515c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen# Build shared library system/lib/hw/nfc_nci.*.so for Hardware Abstraction Layer.
525c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen# Android's generic HAL (libhardware.so) dynamically loads this shared library.
535c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
545c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coeneninclude $(CLEAR_VARS)
555c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_MODULE := nfc_nci.$(TARGET_DEVICE)
565c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
575c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_SRC_FILES := $(call all-c-files-under, $(HALIMPL)) \
58edbfba90df8e223fadd787a10cb131e1dcfa7347Evan Chu    $(call all-cpp-files-under, $(HALIMPL)) \
590976d37081fae8bcd4fc4dcf7996e1ce194fb4b1Evan Chu    src/adaptation/CrcChecksum.cpp \
600976d37081fae8bcd4fc4dcf7996e1ce194fb4b1Evan Chu    src//nfca_version.c
615c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_SHARED_LIBRARIES := liblog libcutils libhardware_legacy libstlport
625c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_MODULE_TAGS := optional
635c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_C_INCLUDES := external/stlport/stlport bionic/ bionic/libstdc++/include \
645c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(HALIMPL)/include \
655c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(HALIMPL)/gki/ulinux \
665c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(HALIMPL)/gki/common \
675c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(HAL)/include \
685c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(HAL)/int \
695c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/src/include \
705c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(NFC)/include \
715c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(NFA)/include \
725c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen    $(LOCAL_PATH)/$(UDRV)/include
735c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_CFLAGS := $(D_CFLAGS) -DNFC_HAL_TARGET=TRUE -DNFC_RW_ONLY=TRUE
745c65c3a0f42e174e47fecd4e569606003217ff4eMartijn CoenenLOCAL_CPPFLAGS := $(LOCAL_CFLAGS)
75e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectinclude $(BUILD_SHARED_LIBRARY)
76e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Project
775c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen
785c65c3a0f42e174e47fecd4e569606003217ff4eMartijn Coenen######################################
79e9df6ba5a8fcccf306a80b1670b423be8fe7746The Android Open Source Projectinclude $(call all-makefiles-under,$(LOCAL_PATH))
80