added java example

This commit is contained in:
Joseph Henry
2017-05-04 13:06:39 -07:00
parent 64f2634960
commit 890e32e88b
29 changed files with 673 additions and 75 deletions

View File

@@ -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 \
@@ -69,32 +71,43 @@ COMMON_LIBS = -lpthread
## 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/$(SYSTEM)
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
@@ -138,11 +151,15 @@ picotcp:
static_lib: picotcp $(ZTO_OBJS)
@mkdir -p $(BUILD)
$(CXX) $(CXXFLAGS) $(SDK_FLAGS) $(TAP_FILES) $(STACK_DRIVER_FILES) -c -DSDK_STATIC
#libtool --mode=link $(STATIC_LIB) $(ZTO_OBJS) $(SDK_OBJS) $(PICO_LIB)
$(CXX) $(CXXFLAGS) $(TAP_FILES) $(STACK_DRIVER_FILES) -c -DSDK_STATIC
ar rcs -o $(STATIC_LIB) ext/picotcp/build/modules/*.o $(PICO_OBJS) $(ZTO_OBJS) $(SDK_OBJS)
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 ##