LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := ZeroTierOneJNI LOCAL_C_INCLUDES := \ $(ZT1)/include \ $(ZT1)/node \ $(ZT1)/osdep LOCAL_LDLIBS := -llog # LOCAL_CFLAGS := -g APP_UNIFIED_HEADERS := true LOCAL_CFLAGS := -DZT_USE_MINIUPNPC ifeq ($(TARGET_ARCH_ABI),x86_64) LOCAL_CXXFLAGS := -maes -mpclmul -msse3 -msse4.1 endif ifeq ($(TARGET_ARCH_ABI),arm64-v8a) LOCAL_ARM_NEON := true LOCAL_CXXFLAGS := -march=armv8-a+crypto -mfloat-abi=softfp -mfpu=neon -maes -isystem $NDK/sysroot/usr/include/$TRIPLE endif # ZeroTierOne SDK source files LOCAL_SRC_FILES := \ $(ZT1)/node/AES.cpp \ $(ZT1)/node/AES_aesni.cpp \ $(ZT1)/node/AES_armcrypto.cpp \ $(ZT1)/node/Bond.cpp \ $(ZT1)/node/BondController.cpp \ $(ZT1)/node/C25519.cpp \ $(ZT1)/node/Capability.cpp \ $(ZT1)/node/CertificateOfMembership.cpp \ $(ZT1)/node/CertificateOfOwnership.cpp \ $(ZT1)/node/Identity.cpp \ $(ZT1)/node/IncomingPacket.cpp \ $(ZT1)/node/InetAddress.cpp \ $(ZT1)/node/Membership.cpp \ $(ZT1)/node/Multicaster.cpp \ $(ZT1)/node/Network.cpp \ $(ZT1)/node/NetworkConfig.cpp \ $(ZT1)/node/Node.cpp \ $(ZT1)/node/OutboundMulticast.cpp \ $(ZT1)/node/Packet.cpp \ $(ZT1)/node/Path.cpp \ $(ZT1)/node/Peer.cpp \ $(ZT1)/node/Poly1305.cpp \ $(ZT1)/node/Revocation.cpp \ $(ZT1)/node/Salsa20.cpp \ $(ZT1)/node/SelfAwareness.cpp \ $(ZT1)/node/SHA512.cpp \ $(ZT1)/node/Switch.cpp \ $(ZT1)/node/Tag.cpp \ $(ZT1)/node/Topology.cpp \ $(ZT1)/node/Trace.cpp \ $(ZT1)/node/Utils.cpp \ $(ZT1)/osdep/OSUtils.cpp # JNI Files LOCAL_SRC_FILES += \ com_zerotierone_sdk_Node.cpp \ ZT_jniarray.cpp \ ZT_jniutils.cpp \ ZT_jnilookup.cpp include $(BUILD_SHARED_LIBRARY)