You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by rv...@apache.org on 2016/05/19 15:14:42 UTC

[35/51] [partial] incubator-geode git commit: Add source for geode c++ and .net clients

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/makefiles/test_executables.gmk
----------------------------------------------------------------------
diff --git a/geode-client-native/makefiles/test_executables.gmk b/geode-client-native/makefiles/test_executables.gmk
new file mode 100755
index 0000000..b622b40
--- /dev/null
+++ b/geode-client-native/makefiles/test_executables.gmk
@@ -0,0 +1,233 @@
+include $(BASEDIR)/makefiles/platform.gmk
+
+ifdef WINDOWS
+    EXE = .exe
+    OBJ = .obj
+else
+    EXE =
+    OBJ = .o
+endif
+# dirs
+
+ifeq ($(VARIANT),FAST)
+  OBJDIR = $(OSBUILDDIR)/tests/objects/$(SUITE)
+#	DESTDIR = $(OSBUILDDIR)/hidden/bin
+else
+  OBJDIR = $(OSBUILDDIR)/tests/objects_g/$(SUITE)
+#	DESTDIR = $(OSBUILDDIR)/hidden/bin/debug
+endif
+
+# objects
+
+DIRS = .
+
+FILES_CPP := $(subst ./,,$(sort $(foreach dir,$(DIRS),$(wildcard $(dir)/*.cpp))))
+SRC_INCLUDES := $(foreach file_include,. $(OSBUILDDIR)/product/include $(OSBUILDDIR)/product/include/gfcpp $(BASEDIR)/src/com/gemstone/gemfire/internal/cppcache/impl $(BASEDIR)/tests/fwklib $(BASEDIR)/tests,-I$(call NATIVEDIR_FUNC,$(file_include)))
+#SRC_INCLUDES := -I. -I$(OSBUILDDIR)/product/include -I$(OSBUILDDIR)/product/include/gfcpp -I$(BASEDIR)/src/com/gemstone/gemfire/internal/cppcache/impl -I$(BASEDIR)/tests/fwklib -I$(BASEDIR)/tests
+
+FILES_EXE = $(foreach src,$(BUILD_EXES),$(OBJDIR)/$(src)$(EXE))
+
+executables: $(FILES_EXE)
+
+ifdef WINDOWS
+#####################
+# WINDOWS
+CXX = cl
+#WARN_OPTIONS = /Wall /WX
+WARN_OPTIONS = 
+WINVER = 0x0500
+SLOW_OPTIONS = /MDd /Od $(CFLAGS$(VCVER)) /RTC1 /Zi -DDEBUG=1 -DASSERT_LEVEL=4
+FAST_OPTIONS = /MD /Ox $(CFLAGS$(VCVER)) -DNDEBUG=1 -DASSERT_LEVEL=1
+CXX_OPTIONS = /nologo $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) /Fd$(OBJDIR)/$(LIBRARY).pdb
+CXX_OPTIONS += /GR /EHac
+CXX_OPTIONS += /DWINVER=0x0500 /D_WIN32_WINNT=0x0500
+CXX_OPTIONS += /Fe$@
+FAST_TP_LIBS = $(ACEDIR)/lib/ACE.lib $(XERCESDIR)/lib/xerces-c.lib 
+SLOW_TP_LIBS = $(ACEDIR)/lib/ACEd.lib $(XERCESDIR)/lib/xerces-c.lib 
+FAST_LIBS_TMP = $($(VARIANT)_TP_LIBS) $(OSBUILDDIR)/product/lib/gfcppcache.lib $(OSBUILDDIR)/framework/lib/framework.lib
+SLOW_LIBS_TMP = $($(VARIANT)_TP_LIBS) $(OSBUILDDIR)/hidden/lib/debug/gfcppcache.lib $(OSBUILDDIR)/framework/lib/debug/framework.lib
+LIBS = $(foreach lib,$($(VARIANT)_LIBS_TMP),$(call NATIVEDIR_FUNC,$(lib)))
+# windows/microsoft libraries.
+LIBS += wsock32.lib netapi32.lib advapi32.lib comdlg32.lib user32.lib gdi32.lib kernel32.lib winspool.lib
+ifeq ($(VCVER),vc8)
+	LIBS += mscoree.lib
+endif
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS = -debug
+LIB_PATH = 
+LINK_OPTIONS = /link -OPT:REF -INCREMENTAL:NO -MAP $($(VARIANT)_LD_OPTIONS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+ifeq ($(VCVER),vc8)
+	MT_COMMAND = mt /nologo -manifest $(call NATIVEDIR_FUNC,$@).manifest -outputresource:$(call NATIVEDIR_FUNC,$@)
+endif
+# 
+#####################
+else
+ifdef LINUX
+#####################
+# LINUX 
+CXX = $(GccCCompiler)
+#WARN_OPTIONS = -Wall -Wno-long-long 
+WARN_OPTIONS = -Wswitch \
+   -Wunused-variable -Wcomments \
+   -Wparentheses -Wsign-compare -Wconversion -Wno-long-long 
+NOT_USED = \
+ -W -Wabi -Woverloaded-virtual -Wundef \
+ -Wpointer-arith -Wold-style-cast -Wcast-qual -Wcast-align -Wwrite-strings \
+ -Wconversion -Wno-long-long -Wdisabled-optimization -Wcomment -Wtrigraphs \
+ -Wimport -Winline -Werror
+
+ifdef USE_SMARTHEAP
+  SMARTHEAP_OPTIONS = -DUSE_SMARTHEAP=1
+  SMARTHEAP_DIR = /export/cplusplus/users/thirdparty/linux/smartheap_7.4
+  SMARTHEAP_LINK = $(SMARTHEAP_DIR)/lib/libsmartheap_mtd.a $(SMARTHEAP_DIR)/lib/libsmartheapC_mtd.a -Bdynamic
+endif
+
+STATICCXX_OPTIONS = $(CFLAGS_MODEL) $(FPIC) -ansi -fno-nonansi-builtins \
+  -ftemplate-depth-17 -D_LINUX \
+  $(SMARTHEAP_OPTIONS) \
+  $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE \
+  -D_REENTRANT -o $(subst /tests/objects/fwkbin,/framework/bin/static,$@)
+CXX_OPTIONS = $(CFLAGS_MODEL) $(FPIC) -MD -ansi -fno-nonansi-builtins -ftemplate-depth-17 -D_LINUX \
+  $(SMARTHEAP_OPTIONS) \
+  $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE -D_REENTRANT -o $@
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4 -fno-inline
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+STATICLIBS = -Bsymbolic $(OSBUILDDIR)/product/lib/libgfcppcache.a $(SMARTHEAP_LINK) -ldl -lm -ldl -lpthread -lc -lstdc++ -lxerces-c -lframework -l$(ACELINKNAME)
+LIBS = $(SMARTHEAP_LINK) -ldl -lm -ldl -lpthread -lc -lstdc++ -lxerces-c -lframework -lgfcppcache -l$(ACELINKNAME)
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+TP_LIB_PATH = -L$(XERCESDIR)/lib 
+FAST_LIB_PATH = -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib -L$(OSBUILDDIR)/hidden/lib 
+SLOW_LIB_PATH = -L$(OSBUILDDIR)/framework/lib/debug -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib -L$(OSBUILDDIR)/product/lib
+STATICLIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib/static -L$(OSBUILDDIR)/hidden/lib
+LIB_PATH = $(TP_LIB_PATH) $($(VARIANT)_LIB_PATH)
+LINK_OPTIONS = $(CFLAGS_MODEL) $($(VARIANT)_LD_OPTIONS)
+STATICLIB_OPTIONS = $(STATICLIB_PATH) $(STATICLIBS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+#STATICLINK_COMMAND = g++ -o $@_static $(LINK_OPTIONS) $(FILES_O) $(SMARTHEAP_LINK) $(LIB_OPTIONS)
+#LINK_COMMAND = g++ -o $@ $(LINK_OPTIONS) $(FILES_O) $(SMARTHEAP_LINK) $(LIB_OPTIONS)
+# 
+#####################
+else
+ifdef SOLARIS
+#####################
+# SOLARIS 
+UNAME_P := $(shell uname -p)
+  ifeq ($(UNAME_P),sparc)
+    HOSTTYPE_OSTYPE=sparc.Solaris
+  else
+    HOSTTYPE_OSTYPE=x86.Solaris
+  endif
+
+CXX = $(SunCompilerDir)/CC
+WARN_OPTIONS = 
+
+ifdef USE_CPP11
+  CFLAGS_STD = -std=c++11
+else
+# TODO jbarrett ????  CFLAGS_STD = -library=no%Cstd,no%iostream
+endif
+
+STATICCXX_OPTIONS = $(CFLAGS_MODEL) $(CFLAGS_STD) \
+  -mt -KPIC -D_SOLARIS \
+  $(SMARTHEAP_OPTIONS) \
+  $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE \
+  -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI \
+  -o $(subst /tests/objects/fwkbin,/framework/bin/static,$@)
+
+CXX_OPTIONS =  $(CFLAGS_MODEL) $(CFLAGS_STD) \
+  -mt -KPIC -D_SOLARIS -xMD \
+  $(SMARTHEAP_OPTIONS) \
+  $($(VARIANT)_OPTIONS) $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE \
+  -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI \
+  -o $@
+
+ifeq ($(HOSTTYPE_OSTYPE), sparc.Solaris)
+  STATICCXX_OPTIONS += -D_SPARC_SOLARIS
+#TODO jbarrett STATICCXX_OPTIONS +=  -dalign
+#TODO jbarrett STATICCXX_OPTIONS += -xmemalign=4s
+
+  CXX_OPTIONS += -D_SPARC_SOLARIS
+#TODO jbarrett CXX_OPTIONS += -xmemalign=4s
+else
+  STATICCXX_OPTIONS += -D_X86_SOLARIS 
+  CXX_OPTIONS += -D_X86_SOLARIS
+endif
+
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+STATICLIBS = $(OSBUILDDIR)/product/lib/libgfcppcache.a $(SMARTHEAP_LINK) -ldl -lpthread -lc -lxerces-c -lframework -l$(ACELINKNAME) -lrt -lnsl -lsocket -ldemangle
+LIBS = $(SMARTHEAP_LINK) -ldl -lpthread -lc -lxerces-c -lframework -lgfcppcache -l$(ACELINKNAME) -lrt -lnsl -lsocket -ldemangle
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+##TP_LIB_PATH = -L$(ACEDIR)/lib -L$(XERCESDIR)/lib 
+TP_LIB_PATH = -L$(XERCESDIR)/lib 
+FAST_LIB_PATH = -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib -L$(OSBUILDDIR)/hidden/lib 
+SLOW_LIB_PATH = -L$(OSBUILDDIR)/framework/lib/debug -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib -L$(OSBUILDDIR)/product/lib
+STATICLIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib -L$(OSBUILDDIR)/framework/lib/static -L$(OSBUILDDIR)/hidden/lib
+LIB_PATH = $(TP_LIB_PATH) $($(VARIANT)_LIB_PATH)
+LINK_OPTIONS = $($(VARIANT)_LD_OPTIONS)
+STATICLIB_OPTIONS = $(STATICLIB_PATH) $(STATICLIBS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+endif
+endif
+endif
+# -I$(STLPORTDIR)/stlport
+THIRD_PARTY_INCLUDES = -I$(XERCESDIR)/include -I$(ACEDIR)/include
+VERSION_INFO_DEFINES =  \
+                    '-DGEMFIRE_SOURCE_REVISION="$(GEMFIRE_SOURCE_REVISION)"' \
+                    '-DGEMFIRE_SOURCE_REPOSITORY="$(GEMFIRE_SOURCE_REPOSITORY)"'
+STATICCXX_OPTIONS += -DACE_NLOGGING -DACE_NDEBUG -D__ACE_INLINE__ 
+STATICCXX_OPTIONS += $(VERSION_INFO_DEFINES)
+STATICCXX_OPTIONS += $(CPP_OPTIONS)
+STATICCXX_OPTIONS += $(THIRD_PARTY_INCLUDES) $(SRC_INCLUDES)
+CXX_OPTIONS += -DACE_NLOGGING -DACE_NDEBUG -D__ACE_INLINE__ 
+CXX_OPTIONS += $(VERSION_INFO_DEFINES)
+CXX_OPTIONS += $(CPP_OPTIONS)
+CXX_OPTIONS += $(THIRD_PARTY_INCLUDES) $(SRC_INCLUDES)
+
+ifdef WINDOWS
+STATICCXX_COMPILE=
+else
+STATICCXX_COMPILE = XXX $(CXX) $(STATICCXX_OPTIONS) $(CURRENTDIR)/$< $(LINK_OPTIONS) $(STATICLIB_OPTIONS)
+endif
+
+ifeq ($(CPPDEVEL),1)
+  CXX_OPTIONS += -DGF_DEVEL_ASSERTS=1
+endif
+
+CXX_COMPILE = $(CXX) $(CXX_OPTIONS) $(CURRENTDIR)/$< $(LINK_OPTIONS) $(LIB_OPTIONS)
+
+showCompileCommand:
+	@echo "compile command: $(CXX_COMPILE)"
+
+$(OBJDIR)/%$(EXE): %.cpp
+	@echo mkdir -p $(dir $@)
+	@mkdir -p $(dir $@)
+	$(CXX_COMPILE)
+	@echo $(MT_COMMAND)
+	@$(MT_COMMAND)
+	
+	
+##	@echo $(STATICCXX_COMPILE)
+##	@$(STATICCXX_COMPILE)
+# target setup
+
+all: makeslow makefast
+
+makeslow:
+	@$(MAKE) VARIANT=SLOW executables
+
+makefast:
+	@$(MAKE) VARIANT=FAST executables
+
+# dependency checking
+
+-include $(FILES_o:.o=.d)
+
+# phony list targets that are not in the filesystem.
+
+.phony += all showCompileCommand executables
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/makefiles/test_library.gmk
----------------------------------------------------------------------
diff --git a/geode-client-native/makefiles/test_library.gmk b/geode-client-native/makefiles/test_library.gmk
new file mode 100755
index 0000000..d3935fc
--- /dev/null
+++ b/geode-client-native/makefiles/test_library.gmk
@@ -0,0 +1,173 @@
+include $(BASEDIR)/makefiles/platform.gmk
+
+# dirs
+
+ifeq ($(VARIANT),FAST)
+  OBJDIR = $(OSBUILDDIR)/tests/objects/$(LIBRARY)
+else
+  OBJDIR = $(OSBUILDDIR)/tests/objects_g/$(LIBRARY)
+endif
+
+# objects
+
+DIRS := $(sort $(shell find . -type d \( -name ".git" -prune -o -print \)))
+
+FILES_CPP := $(subst ./,,$(sort $(foreach dir,$(DIRS),$(wildcard $(dir)/*.cpp))))
+
+SRC_INCLUDES := $(foreach file_include,. $(OSBUILDDIR)/product/include $(OSBUILDDIR)/product/include/gfcpp $(BASEDIR)/src/com/gemstone/gemfire/internal/cppcache/impl $(BASEDIR)/tests/fwklib $(BASEDIR)/tests,-I$(call NATIVEDIR_FUNC,$(file_include)))
+
+FILES_O = $(foreach src,$(FILES_CPP),$(OBJDIR)/$(subst .cpp,$(OBJ),$(src)))
+
+ifdef WINDOWS
+#####################
+# WINDOWS
+#####################
+else
+ifdef LINUX
+#####################
+# LINUX 
+CXX = $(GccCCompiler)
+#WARN_OPTIONS = -Wall -Wconversion -Wno-long-long 
+WARN_OPTIONS = -Wswitch \
+   -Wunused-variable -Wcomments \
+   -Wparentheses -Wsign-compare -Wconversion -Wno-long-long 
+NOT_USED = \
+ -W -Wabi -Woverloaded-virtual -Wundef \
+ -Wpointer-arith -Wold-style-cast -Wcast-qual -Wcast-align -Wwrite-strings \
+ -Wconversion -Wno-long-long -Wdisabled-optimization -Wcomment -Wtrigraphs \
+ -Wimport -Winline -Werror
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4 -fno-inline
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+CXX_OPTIONS = $(CFLAGS_MODEL) $(FPIC) -MD -c -ansi -fno-nonansi-builtins -ftemplate-depth-17 -D_LINUX \
+  $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE -D_REENTRANT $($(VARIANT)_OPTIONS) -o $@
+LIBS = -ldl -lm -lpthread -lc -lxerces-c $(XTRA_LIBS)
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+TP_LIB_PATH = -L$(XERCESDIR)/lib
+FAST_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib/ -L$(OSBUILDDIR)/framework/lib/ -L$(OSBUILDDIR)/hidden/lib/
+SLOW_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/framework/lib/debug/ -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib/ -L$(OSBUILDDIR)/product/lib/
+LIB_PATH = $($(VARIANT)_LIB_PATH) $(XTRA_LIB_PATHS)
+LINK_OPTIONS = $(CFLAGS_MODEL) --shared $($(VARIANT)_LD_OPTIONS)
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+LINK_COMMAND = gcc -o $@ $(LINK_OPTIONS) $(FILES_O) $(LIB_OPTIONS)
+# 
+#####################
+else
+ifdef SOLARIS
+#####################
+# SOLARIS 
+  UNAME_P := $(shell uname -p)
+  ifeq ($(UNAME_P),sparc)
+    HOSTTYPE_OSTYPE=sparc.Solaris
+  else
+    HOSTTYPE_OSTYPE=x86.Solaris  
+  endif    
+	
+CXX = $(SunCompilerDir)/CC
+WARN_OPTIONS = 
+NOT_USED = \
+ -W -Wabi -Woverloaded-virtual -Wundef \
+ -Wpointer-arith -Wold-style-cast -Wcast-qual -Wcast-align -Wwrite-strings \
+ -Wconversion -Wno-long-long -Wdisabled-optimization -Wcomment -Wtrigraphs \
+ -Wimport -Winline -Werror
+SLOW_OPTIONS = -g -O0 -DDEBUG=1 -DASSERT_LEVEL=4
+FAST_OPTIONS = -O3 -DNDEBUG=1 -DASSERT_LEVEL=1
+
+ifdef USE_CPP11
+  CFLAGS_STD = -std=c++11 -DUSE_CPP11
+else
+  CFLAGS_STD = -library=Cstd
+endif
+
+CXX_OPTIONS = $(CFLAGS_MODEL) $(CFLAGS_STD) -c \
+  -mt -KPIC -xMD -D_SOLARIS \
+  -D_POSIX_PTHREAD_SEMANTICS \
+  -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI \
+  $(WARN_OPTIONS) -D_REENTRANT -D_LARGEFILE64_SOURCE $($(VARIANT)_OPTIONS) -o $@
+
+ifeq ($(HOSTTYPE_OSTYPE), sparc.Solaris)
+  CXX_OPTIONS += -D_SPARC_SOLARIS
+  # TODO jbarrett - -dalign -D_POSIX_PTHREAD_SEMANTICS \
+  # TODO jbarrett - CXX_OPTIONS += -xmemalign=4s
+else
+  CXX_OPTIONS += -D_X86_SOLARIS
+endif
+  
+LIBS = -ldl -lpthread -lc -lxerces-c -lsocket -lnsl -ldemangle $(XTRA_LIBS)
+FAST_LD_OPTIONS =
+SLOW_LD_OPTIONS =
+TP_LIB_PATH = -L$(XERCESDIR)/lib
+FAST_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/product/lib/ -L$(OSBUILDDIR)/framework/lib/ -L$(OSBUILDDIR)/hidden/lib/
+SLOW_LIB_PATH = $(TP_LIB_PATH) -L$(OSBUILDDIR)/framework/lib/debug/ -L$(OSBUILDDIR)/hidden/lib/debug -L$(OSBUILDDIR)/hidden/lib/ -L$(OSBUILDDIR)/product/lib/
+LIB_PATH = $($(VARIANT)_LIB_PATH) $(XTRA_LIB_PATHS)
+LINK_OPTIONS = -mt $(CFLAGS_MODEL) -G -KPIC $($(VARIANT)_LD_OPTIONS) $(CFLAGS_STD)
+
+ifdef USE_CPP11
+  LIBS += -lstdc++ -lgcc_s -lCrunG3 
+else
+  LIBS += -lCstd -lCrun
+endif
+
+
+LIB_OPTIONS = $(LIB_PATH) $(LIBS)
+LINK_COMMAND = CC -o $@ $(LINK_OPTIONS) $(FILES_O) $(LIB_OPTIONS)
+# 
+#####################
+endif
+endif
+endif
+THIRD_PARTY_INCLUDES = -I$(ACEDIR)/include -I$(XERCESDIR)/include  
+VERSION_INFO_DEFINES =  \
+                    '-DGEMFIRE_SOURCE_REVISION="$(GEMFIRE_SOURCE_REVISION)"' \
+                    '-DGEMFIRE_SOURCE_REPOSITORY="$(GEMFIRE_SOURCE_REPOSITORY)"'
+CXX_OPTIONS += -DACE_NLOGGING -DACE_NDEBUG -D__ACE_INLINE__ 
+CXX_OPTIONS += $(VERSION_INFO_DEFINES)
+CXX_OPTIONS += $(CPP_OPTIONS)
+CXX_OPTIONS +=  $(XTRA_INCS) $(THIRD_PARTY_INCLUDES) $(SRC_INCLUDES)
+
+ifeq ($(CPPDEVEL),1)
+  CXX_OPTIONS += -DGF_DEVEL_ASSERTS=1
+endif
+
+CXX_COMPILE = $(CXX) $(CXX_OPTIONS)
+
+showCompileCommand:
+	@echo "compile command: $(CXX_COMPILE)"
+
+$(OBJDIR)/%$(OBJ): %.cpp
+	@mkdir -p $(dir $@)
+	@echo $(CURRENTDIR)/$<
+	$(CXX_COMPILE) $(CURRENTDIR)/$<
+
+# target setup
+
+ifeq ($(VARIANT),FAST)
+  LIBFILE = $(OSBUILDDIR)/framework/lib/$(libPrefix)$(LIBRARY)$(libSuffix)
+else
+  LIBFILE = $(OSBUILDDIR)/framework/lib/debug/$(libPrefix)$(LIBRARY)$(libSuffix)
+endif
+
+library: $(LIBFILE)
+
+$(LIBFILE): showCompileCommand $(FILES_O)
+	@mkdir -p $(dir $@)
+	@echo linking...
+	$(LINK_COMMAND)
+	$(MT_COMMAND)
+
+all: makeslow makefast
+
+makeslow:
+	@$(MAKE) VARIANT=SLOW library
+
+makefast:
+	@$(MAKE) VARIANT=FAST library
+
+# dependency checking
+-include $(FILES_o:.o=.d)
+
+# phony list targets that are not in the filesystem.
+
+.phony += all library $(LIBFILE) showCompileCommand
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/makefiles/ver_script
----------------------------------------------------------------------
diff --git a/geode-client-native/makefiles/ver_script b/geode-client-native/makefiles/ver_script
new file mode 100644
index 0000000..44aed71
--- /dev/null
+++ b/geode-client-native/makefiles/ver_script
@@ -0,0 +1,6 @@
+{
+  global:
+      *gemfire*;
+  local:
+      *;
+};

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/myBuild.sh.example
----------------------------------------------------------------------
diff --git a/geode-client-native/myBuild.sh.example b/geode-client-native/myBuild.sh.example
new file mode 100755
index 0000000..b83303c
--- /dev/null
+++ b/geode-client-native/myBuild.sh.example
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+thisDir=`basename $BASEDIR`
+echo $thisDir
+
+# should be /export/gcm once pune supports it.
+MY_THIRDPARTY_BASE=/gcm/where/cplusplus/thirdparty
+
+if [ `uname` = "SunOS" ]; then
+  export CPP_THIRDPARTY=${MY_THIRDPARTY_BASE}/solaris
+  export ANT_ARGS="-D/export/scrooge2/users/tkeith/built/$thisDir"
+else
+if [ `uname` = "Linux" ]; then
+  export CPP_THIRDPARTY=${MY_THIRDPARTY_BASE}/linux
+  export ANT_ARGS="-Dosbuild.dir=/export/tiny2/users/tkeith/built/$thisDir"
+else
+  MY_THIRDPARTY_BASE=C:/src/gcm/where/cplusplus
+  export CPP_THIRDPARTY=${MY_THIRDPARTY_BASE}
+  export ANT_ARGS="-Dosbuild.dir=C:/Temp/built/$thisDir"
+fi
+fi
+
+export JAVA_HOME=${CPP_THIRDPARTY}/jdk1.4.2_06
+export ANT_HOME=${CPP_THIRDPARTY}/ant/apache-ant-1.8.4
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/CMakeLists.txt
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/CMakeLists.txt b/geode-client-native/quickstart/CMakeLists.txt
new file mode 100755
index 0000000..9393641
--- /dev/null
+++ b/geode-client-native/quickstart/CMakeLists.txt
@@ -0,0 +1,133 @@
+cmake_minimum_required(VERSION 3.4)
+project(nativeclient.quickstart.cpp)
+
+file(GLOB SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.cpp")
+
+#target_link_libraries(${QUICKSTART_UTILS_LIB}
+#  PRIVATE
+#    ${ACE_STATIC_LIB}
+#  PUBLIC
+#    gfcppcache
+#)
+#add_dependencies(${QUICKSTART_UTILS_LIB} ACE)
+
+# Function to resolve both config and generate stage variables.
+macro(generate_config INPUT TEMP OUTPUT)
+    configure_file(${INPUT} ${TEMP})
+    file(GENERATE OUTPUT ${OUTPUT}
+      INPUT ${TEMP}
+      CONDITION 1
+    )
+endmacro()
+
+macro(add_pdxautoserializer SOURCES_VAR NAMESPACE CLASS HEADER SUFFIX CLASSNAMESTR)
+    set(_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAMESPACE}_${CLASS}${SUFFIX}.cpp)
+    set(_INPUT ${CMAKE_CURRENT_SOURCE_DIR}/${HEADER})
+    add_custom_command(OUTPUT ${_OUTPUT}
+        COMMAND $<TARGET_FILE:pdxautoserializer> --className=${CLASS} --suffix=${SUFFIX} --classNameStr=${CLASSNAMESTR} ${_INPUT} 
+        DEPENDS ${_INPUT}
+    )
+    set(${SOURCES_VAR} ${${SOURCES_VAR}} ${_OUTPUT})
+endmacro()
+include_directories(${CMAKE_CURRENT_SOURCE_DIR})
+
+add_pdxautoserializer(SOURCES PdxAutoTests PdxAutoMegaType PdxAutoMegaType.hpp Serializable "")
+%GFCPP%\bin\pdxautoserializer.exe  --outDir=cpp\queryobjects  cpp\queryobjects\PortfolioPdxAuto.hpp 
+
+# TODO: Switch to the following when we support cmake install of nativeclient
+find_package(CPPCache REQUIRED PATHS .)
+
+set(SAV_CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
+
+foreach(FILE ${SOURCES})
+  string(REGEX REPLACE "\\.cpp" "" QUICKSTART ${FILE})
+  set(QUICKSTARTS ${QUICKSTARTS} ${QUICKSTART})
+  
+  set(EXTRA_SOURCES "")
+  
+  if (${QUICKSTART} STREQUAL "CqQuery") 
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp)
+    
+  elseif (${QUICKSTART} STREQUAL "DataExpiration")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheListener.cpp)   
+      
+  elseif (${QUICKSTART} STREQUAL "DurableClient")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/plugins/DurableCacheListener.cpp)  
+      
+  elseif (${QUICKSTART} STREQUAL "LoaderListenerWriter")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheListener.cpp    
+      ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheLoader.cpp   
+      ${CMAKE_CURRENT_SOURCE_DIR}/plugins/SimpleCacheWriter.cpp)   
+     
+  elseif (${QUICKSTART} STREQUAL "PdxAutoSerializer")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/testobject_PortfolioPdxAutoSerializable.cpp 
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/testobject_PositionPdxAutoSerializable.cpp 
+   
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PortfolioPdxAuto.cpp    
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PositionPdxAuto.cpp)
+      add_pdxautoserializer(EXTRA_SOURCES testobject PortfolioPdxAuto PortfolioPdxAuto.hpp Serializable "")   
+    
+  elseif (${QUICKSTART} STREQUAL "PdxRemoteQuery")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PortfolioPdx.cpp    
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/PositionPdx.cpp)  
+    
+  elseif (${QUICKSTART} STREQUAL "PoolCqQuery")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp    
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp)  
+    
+  elseif (${QUICKSTART} STREQUAL "PoolRemoteQuery")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp    
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp) 
+    
+  elseif (${QUICKSTART} STREQUAL "RemoteQuery")
+    add_definitions(-DBUILD_TESTOBJECT)
+    set(EXTRA_SOURCES
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Portfolio.cpp    
+      ${CMAKE_CURRENT_SOURCE_DIR}/queryobjects/Position.cpp)       
+    
+  endif()
+  
+  add_executable(${QUICKSTART} ${FILE} ${EXTRA_SOURCES})
+  
+  set(CMAKE_CXX_FLAGS "${SAV_CMAKE_CXX_FLAGS} /I${NATIVECLIENT_CPPCACHE_INCLUDE_DIR}")
+  #include_directories("${GFCPP_INCLUDE}")
+  
+
+
+  target_link_libraries(${QUICKSTART}
+    PRIVATE
+    PUBLIC "${NATIVECLIENT_CPPCACHE_LIBRARIES}\\gfcppcache")  
+
+  #set(TEST_DIR ${CMAKE_CURRENT_BINARY_DIR}/.tests/${TEST})
+    
+endforeach()
+
+##TODO is this correct for config.h
+#include_directories(${CMAKE_BINARY_DIR}/cppcache)
+#include_directories(${CMAKE_BINARY_DIR}/cppcache/include)
+##TODO this is really odd
+#include_directories(${CMAKE_SOURCE_DIR}/cppcache)
+#include_directories(${CMAKE_SOURCE_DIR}/cppcache/impl)
+##TODO this is really bad that we include the root of tests
+#include_directories(${CMAKE_SOURCE_DIR}/tests)
+##TODO fix dependencies include paths
+#include_directories(${DEPENDENCIES_ACE_DIR}/include)
+
+

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/GNUmakefile
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/GNUmakefile b/geode-client-native/quickstart/GNUmakefile
new file mode 100644
index 0000000..6d2693d
--- /dev/null
+++ b/geode-client-native/quickstart/GNUmakefile
@@ -0,0 +1,5 @@
+default: all
+
+SUBDIRS = cpp interop
+
+include ./GNUmakefile.common
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/ac967000/geode-client-native/quickstart/GNUmakefile.common
----------------------------------------------------------------------
diff --git a/geode-client-native/quickstart/GNUmakefile.common b/geode-client-native/quickstart/GNUmakefile.common
new file mode 100644
index 0000000..d81de84
--- /dev/null
+++ b/geode-client-native/quickstart/GNUmakefile.common
@@ -0,0 +1,70 @@
+BUILD_BITS := __BUILD_BITS__
+USE_CPP11 := __USE_CPP11__
+
+CXXFLAGS += -I$(GFCPP)/include
+CXXLDFLAGS += -L$(GFCPP)/lib
+CXXLIBS += -lpthread -lgfcppcache
+
+OSNAME := $(shell uname)
+ifeq ($(OSNAME),SunOS)
+  CXX = CC
+  # using -xMMD to fix issue with implicit rule to rebuild string from string.cc
+  CXXFLAGS += -xMMD
+  CXXFLAGS += -mt -D_RWSTD_MULTI_THREAD -DTHREAD=MULTI -D_REENTRANT
+  CXXFLAGS += -m$(BUILD_BITS) -xO3
+  CXXLDFLAGS += -m$(BUILD_BITS) -zdefs
+  CXXLIBS += -lrt -lkstat
+  ifeq ($(USE_CPP11),1)
+    CXXFLAGS += -std=c++11
+    CXXLDFLAGS += -std=c++11 
+    CXXLIBS += -lstdc++ -lgcc_s -lCrunG3
+  else
+    CXXLIBS += -lCstd -lCrun
+  endif
+  CXXLIBS += -lc
+else
+ifeq ($(OSNAME),Linux)
+  CXXFLAGS += -MD
+  CXXFLAGS += -D_REENTRANT -O3 -Wall -m$(BUILD_BITS)
+  CXXLDFLAGS += -m$(BUILD_BITS)
+  ifeq ($(USE_CPP11),1)
+    CXXFLAGS += -std=c++11
+  endif
+else
+  $(error "Not Supported Platform")
+endif
+endif
+
+%.o : %.cpp
+	$(CXX) $(CXXFLAGS) -c -o $@ $<
+
+
+.PHONY: all
+all: subdirs subs
+
+
+.PHONY: subdirs $(SUBDIRS) subs $(SUBS)
+
+subdirs: $(SUBDIRS)
+
+$(SUBDIRS):
+	$(MAKE) -C $@ -f GNUmakefile
+
+subs: $(SUBS)
+
+$(SUBS):
+	$(MAKE) -f GNUmakefile.$@
+
+SUBDIRSCLEAN = $(addsuffix .clean,$(SUBDIRS))
+
+SUBSCLEAN = $(addsuffix .clean,$(SUBS))
+        
+.PHONY: clean $(SUBDIRSCLEAN) $(SUBSCLEAN)
+clean: $(SUBDIRSCLEAN) $(SUBSCLEAN)
+        
+$(SUBDIRSCLEAN): %.clean:
+	$(MAKE) -C $* -f GNUmakefile clean
+
+$(SUBSCLEAN): %.clean:
+	$(MAKE) -f GNUmakefile.$* clean
+