summaryrefslogtreecommitdiff
path: root/make-mac.mk
diff options
context:
space:
mode:
Diffstat (limited to 'make-mac.mk')
-rw-r--r--make-mac.mk32
1 files changed, 25 insertions, 7 deletions
diff --git a/make-mac.mk b/make-mac.mk
index b0c5fb9..eae2253 100644
--- a/make-mac.mk
+++ b/make-mac.mk
@@ -19,10 +19,12 @@ OSTYPE = $(shell uname -s | tr '[A-Z]' '[a-z]')
# Target output filenames
STATIC_LIB_NAME = libzt.a
PICO_LIB_NAME = libpicotcp.a
+JNI_LIB_NAME = libzt.jnilib
#
STATIC_LIB = $(BUILD)/$(STATIC_LIB_NAME)
PICO_DIR = ext/picotcp
PICO_LIB = $(PICO_DIR)/build/lib/$(PICO_LIB_NAME)
+SHARED_JNI_LIB = $(BUILD)/$(JNI_LIB_NAME)
#
TEST_BUILD_DIR = $(BUILD)/test
UNIT_TEST_SRC_DIR = test/unit
@@ -47,7 +49,7 @@ else
STRIP=strip
endif
-CXXFLAGS=$(CFLAGS) -Wno-format -fno-rtti -std=c++11 -DZT_SDK
+CXXFLAGS=$(CFLAGS) -Wno-format -fno-rtti -std=c++11
INCLUDES+= -Iext \
-I$(ZTO)/osdep \
@@ -67,32 +69,43 @@ INCLUDES+= -Iext \
## User Build Flags ##
##############################################################################
+CXXFLAGS+=-DZT_SDK
+
# Debug option, prints filenames, lines, functions, arguments, etc
# Also enables debug symbols for debugging with tools like gdb, etc
ifeq ($(SDK_DEBUG),1)
- SDK_FLAGS+=-DSDK_PICOTCP
+ CXXFLAGS+=-DSDK_PICOTCP
CXXFLAGS+=-g
INCLUDES+= -I$(PICOTCP_DIR)/include \
-I$(PICOTCP_DIR)/build/include \
-Isrc/stack_drivers/picotcp
endif
+# JNI (Java Native Interface)
+ifeq ($(SDK_JNI), 1)
+ # jni.h
+ INCLUDES+=-I$(shell /usr/libexec/java_home)/include
+ # jni_md.h
+ INCLUDES+=-I$(shell /usr/libexec/java_home)/include/$(OSTYPE)
+ CXXFLAGS+=-DSDK_JNI
+endif
+
##############################################################################
## Stack Configuration ##
##############################################################################
# Stack config flags
ifeq ($(SDK_PICOTCP),1)
- SDK_FLAGS+=-DSDK_PICOTCP
+ CXXFLAGS+=-DSDK_PICOTCP
INCLUDES+= -I$(PICOTCP_DIR)/include \
-I$(PICOTCP_DIR)/build/include \
-Isrc/stack_drivers/picotcp
endif
ifeq ($(SDK_IPV4),1)
- SDK_FLAGS+=-DSDK_IPV4
+ CXXFLAGS+=-DSDK_IPV4
endif
ifeq ($(SDK_IPV6),1)
- SDK_FLAGS+=-DSDK_IPV6
+ CXXFLAGS+=-DSDK_IPV6
endif
@@ -136,10 +149,15 @@ picotcp:
static_lib: picotcp $(ZTO_OBJS)
@mkdir -p $(BUILD)
- $(CXX) $(CXXFLAGS) $(SDK_FLAGS) $(TAP_FILES) $(STACK_DRIVER_FILES) -c -DSDK_STATIC
+ $(CXX) $(CXXFLAGS) $(TAP_FILES) $(STACK_DRIVER_FILES) -c -DSDK_STATIC
libtool -static -o $(STATIC_LIB) $(ZTO_OBJS) $(SDK_OBJS) $(PICO_LIB)
-jni_static_lib: picotcp $(ZTO_OBJS)
+##############################################################################
+## Java JNI ##
+##############################################################################
+
+shared_jni_lib: picotcp $(ZTO_OBJS)
+ $(CXX) $(CXXFLAGS) $(TAP_FILES) $(STACK_DRIVER_FILES) $(ZTO_OBJS) $(INCLUDES) $(PICO_LIB) -dynamiclib -o $(SHARED_JNI_LIB)
##############################################################################
## Unit Tests ##