aboutsummaryrefslogtreecommitdiff
path: root/extensions/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/compiler')
-rw-r--r--extensions/compiler/makeandroid/Makefile202
-rw-r--r--extensions/compiler/makeandroid/Makefile.flexCUDA.mk225
-rw-r--r--extensions/compiler/makeandroid/Makefile.flexExtCUDA.mk205
-rw-r--r--extensions/compiler/makelinux64/Makefile197
-rw-r--r--extensions/compiler/makelinux64/Makefile.flexCUDA.mk217
-rw-r--r--extensions/compiler/makelinux64/Makefile.flexExtCUDA.mk197
-rw-r--r--extensions/compiler/vc12win32/flexExtCUDA.sln24
-rw-r--r--extensions/compiler/vc12win32/flexExtCUDA.vcxproj150
-rw-r--r--extensions/compiler/vc12win32/flexExtCUDA.vcxproj.filters51
-rw-r--r--extensions/compiler/vc12win32/flexExtD3D.sln24
-rw-r--r--extensions/compiler/vc12win32/flexExtD3D.vcxproj167
-rw-r--r--extensions/compiler/vc12win32/flexExtD3D.vcxproj.filters57
-rw-r--r--extensions/compiler/vc12win32/vc120.pdbbin0 -> 487424 bytes
-rw-r--r--extensions/compiler/vc12win64/flexExtCUDA.sln24
-rw-r--r--extensions/compiler/vc12win64/flexExtCUDA.vcxproj150
-rw-r--r--extensions/compiler/vc12win64/flexExtCUDA.vcxproj.filters51
-rw-r--r--extensions/compiler/vc12win64/flexExtD3D.sln24
-rw-r--r--extensions/compiler/vc12win64/flexExtD3D.vcxproj167
-rw-r--r--extensions/compiler/vc12win64/flexExtD3D.vcxproj.filters57
-rw-r--r--extensions/compiler/vc12win64/vc120.pdbbin0 -> 479232 bytes
-rw-r--r--extensions/compiler/vc14win32/flexExtCUDA.sln24
-rw-r--r--extensions/compiler/vc14win32/flexExtCUDA.vcxproj150
-rw-r--r--extensions/compiler/vc14win32/flexExtCUDA.vcxproj.filters51
-rw-r--r--extensions/compiler/vc14win32/flexExtD3D.sln24
-rw-r--r--extensions/compiler/vc14win32/flexExtD3D.vcxproj167
-rw-r--r--extensions/compiler/vc14win32/flexExtD3D.vcxproj.filters57
-rw-r--r--extensions/compiler/vc14win64/flexExtCUDA.sln24
-rw-r--r--extensions/compiler/vc14win64/flexExtCUDA.vcxproj150
-rw-r--r--extensions/compiler/vc14win64/flexExtCUDA.vcxproj.filters51
-rw-r--r--extensions/compiler/vc14win64/flexExtD3D.sln24
-rw-r--r--extensions/compiler/vc14win64/flexExtD3D.vcxproj167
-rw-r--r--extensions/compiler/vc14win64/flexExtD3D.vcxproj.filters57
-rw-r--r--extensions/compiler/vc14win64/vc140.pdbbin0 -> 413696 bytes
-rw-r--r--extensions/compiler/xpj/flexExtCUDA.xpj239
-rw-r--r--extensions/compiler/xpj/flexExtD3D.xpj177
35 files changed, 3551 insertions, 0 deletions
diff --git a/extensions/compiler/makeandroid/Makefile b/extensions/compiler/makeandroid/Makefile
new file mode 100644
index 0000000..e03f411
--- /dev/null
+++ b/extensions/compiler/makeandroid/Makefile
@@ -0,0 +1,202 @@
+#!/usr/bin/make
+# Makefile generated by XPJ for android
+
+DEPSDIR = .deps
+NDKROOT = "$(NDK_ROOT)"/"$(NDK_VERSION)"
+NDK_BIN_DIR = "$(NDK_ROOT)"/"$(NDK_VERSION)"/toolchains/"$(NDK_TOOLCHAIN)"/prebuilt/"linux-x86_64"/bin
+NDK_PREFIX = arm-linux-androideabi-
+JAVA_HOME = ./../xpj/"$(JAVA_HOME)"
+ANT_TOOL = ./../xpj/"$(ANT_HOME}"/bin/ant
+#default defines
+OBJS_DIR = build
+RMDIR = rm -fr
+ECHO = echo
+CCLD = $(NDK_BIN_DIR)/$(NDK_PREFIX)g++
+CXX = $(NDK_BIN_DIR)/$(NDK_PREFIX)g++
+CC = $(NDK_BIN_DIR)/$(NDK_PREFIX)gcc
+RANLIB = $(NDK_BIN_DIR)/$(NDK_PREFIX)ranlib
+AR = $(NDK_BIN_DIR)/$(NDK_PREFIX)ar
+STRIP = $(NDK_BIN_DIR)/$(NDK_PREFIX)strip
+OBJDUMP = $(NDK_BIN_DIR)/$(NDK_PREFIX)objdump
+OBJCOPY = $(NDK_BIN_DIR)/$(NDK_PREFIX)objcopy
+-include Makedefs.ANDROID.mk
+
+all: debug release
+
+debug: build_flexExtCUDA_debug
+
+release: build_flexExtCUDA_release
+
+clean: clean_flexExtCUDA_release clean_flexExtCUDA_debug
+ rm -rf $(DEPSDIR)
+
+
+clean_release: clean_flexExtCUDA_release
+ rm -rf $(DEPSDIR)
+
+
+clean_debug: clean_flexExtCUDA_debug
+ rm -rf $(DEPSDIR)
+
+
+include Makefile.flexExtCUDA.mk
+
+
+# Disable implicit rules to speedup build
+.SUFFIXES:
+SUFFIXES :=
+%.out:
+%.a:
+%.ln:
+%.o:
+%: %.o
+%.c:
+%: %.c
+%.ln: %.c
+%.o: %.c
+%.cc:
+%: %.cc
+%.o: %.cc
+%.C:
+%: %.C
+%.o: %.C
+%.cpp:
+%: %.cpp
+%.o: %.cpp
+%.p:
+%: %.p
+%.o: %.p
+%.f:
+%:
+ %.f%.o: %.f
+%.F:
+%: %.F
+%.o: %.F
+%.f: %.F
+%.r:
+%: %.r
+%.o: %.r
+%.f: %.r
+%.y:
+%.ln: %.y
+%.c: %.y
+%.l:
+%.ln: %.l
+%.c: %.l
+%.r: %.l
+%.s:
+%: %.s
+%.o: %.s
+%.S:
+%: %.S
+%.o: %.S
+%.s: %.S
+%.mod:
+%: %.mod
+%.o: %.mod
+%.sym:
+%.def:
+%.sym: %.def
+%.h:
+%.info:
+%.dvi:
+%.tex:
+%.dvi: %.tex
+%.texinfo:
+%.info: %.texinfo
+%.dvi: %.texinfo
+%.texi:
+%.info: %.texi
+%.dvi: %.texi
+%.txinfo:
+%.info: %.txinfo
+%.dvi: %.txinfo
+%.w:
+%.c: %.w
+%.tex: %.w
+%.ch:
+%.web:
+%.p: %.web
+%.tex: %.web
+%.sh:
+%: %.sh
+%.elc:
+%.el:
+(%): %
+%.out: %
+%.c: %.w %.ch
+%.tex: %.w %.ch
+%: %,v
+%: RCS/%,v
+%: RCS/%
+%: s.%
+%: SCCS/s.%
+.web.p:
+.l.r:
+.dvi:
+.F.o:
+.l:
+.y.ln:
+.o:
+.y:
+.def.sym:
+.p.o:
+.p:
+.txinfo.dvi:
+.a:
+.l.ln:
+.w.c:
+.texi.dvi:
+.sh:
+.cc:
+.cc.o:
+.def:
+.c.o:
+.r.o:
+.r:
+.info:
+.elc:
+.l.c:
+.out:
+.C:
+.r.f:
+.S:
+.texinfo.info:
+.c:
+.w.tex:
+.c.ln:
+.s.o:
+.s:
+.texinfo.dvi:
+.el:
+.texinfo:
+.y.c:
+.web.tex:
+.texi.info:
+.DEFAULT:
+.h:
+.tex.dvi:
+.cpp.o:
+.cpp:
+.C.o:
+.ln:
+.texi:
+.txinfo:
+.tex:
+.txinfo.info:
+.ch:
+.S.s:
+.mod:
+.mod.o:
+.F.f:
+.w:
+.S.o:
+.F:
+.web:
+.sym:
+.f:
+.f.o:
+export VERBOSE
+ifndef VERBOSE
+.SILENT:
+endif
diff --git a/extensions/compiler/makeandroid/Makefile.flexCUDA.mk b/extensions/compiler/makeandroid/Makefile.flexCUDA.mk
new file mode 100644
index 0000000..2f9e44a
--- /dev/null
+++ b/extensions/compiler/makeandroid/Makefile.flexCUDA.mk
@@ -0,0 +1,225 @@
+# Makefile generated by XPJ for android
+-include Makefile.custom
+ProjectName = flexCUDA
+flexCUDA_cppfiles += ./../../../src/cuda/util.cpp
+flexCUDA_cuda_src_cuda_bvh_cu += ./../../../src/cuda/bvh.cu
+flexCUDA_cuda_src_cuda_flex_cu += ./../../../src/cuda/flex.cu
+flexCUDA_cuda_src_cuda_sort_cu += ./../../../src/cuda/sort.cu
+
+flexCUDA_cpp_release_dep = $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexCUDA_cppfiles)))))
+flexCUDA_cc_release_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexCUDA_ccfiles)))))
+flexCUDA_c_release_dep = $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexCUDA_cfiles)))))
+flexCUDA_release_dep = $(flexCUDA_cpp_release_dep) $(flexCUDA_cc_release_dep) $(flexCUDA_c_release_dep)
+-include $(flexCUDA_release_dep)
+flexCUDA_cpp_debug_dep = $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexCUDA_cppfiles)))))
+flexCUDA_cc_debug_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexCUDA_ccfiles)))))
+flexCUDA_c_debug_dep = $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexCUDA_cfiles)))))
+flexCUDA_debug_dep = $(flexCUDA_cpp_debug_dep) $(flexCUDA_cc_debug_dep) $(flexCUDA_c_debug_dep)
+-include $(flexCUDA_debug_dep)
+flexCUDA_release_hpaths :=
+flexCUDA_release_hpaths += ./../../..
+flexCUDA_release_hpaths += ./../../../../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include
+flexCUDA_release_hpaths += ./../../../../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport
+flexCUDA_release_hpaths += ./../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include
+flexCUDA_release_lpaths :=
+flexCUDA_release_lpaths += ./../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/lib
+flexCUDA_release_lpaths += ./../../../lib/android
+flexCUDA_release_lpaths += ./../../../../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/libs/armeabi-v7a
+flexCUDA_release_defines := $(flexCUDA_custom_defines)
+flexCUDA_release_defines += android
+flexCUDA_release_defines += ANDROID=1
+flexCUDA_release_defines += ANDROID_PLAT=1
+flexCUDA_release_defines += DISABLE_IMPORTGL
+flexCUDA_release_libraries :=
+flexCUDA_release_common_cflags := $(flexCUDA_custom_cflags)
+flexCUDA_release_common_cflags += -MMD
+flexCUDA_release_common_cflags += $(addprefix -D, $(flexCUDA_release_defines))
+flexCUDA_release_common_cflags += $(addprefix -I, $(flexCUDA_release_hpaths))
+flexCUDA_release_cflags := $(flexCUDA_release_common_cflags)
+flexCUDA_release_cflags += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions
+flexCUDA_release_cflags += -O3 -ffast-math
+flexCUDA_release_cppflags := $(flexCUDA_release_common_cflags)
+flexCUDA_release_cppflags += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions
+flexCUDA_release_cppflags += -O3 -ffast-math
+flexCUDA_release_lflags := $(flexCUDA_custom_lflags)
+flexCUDA_release_lflags += $(addprefix -L, $(flexCUDA_release_lpaths))
+flexCUDA_release_lflags += -Wl,--start-group $(addprefix -l, $(flexCUDA_release_libraries)) -Wl,--end-group
+flexCUDA_release_objsdir = $(OBJS_DIR)/flexCUDA_release
+flexCUDA_release_cpp_o = $(addprefix $(flexCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexCUDA_cppfiles)))))
+flexCUDA_release_cc_o = $(addprefix $(flexCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexCUDA_ccfiles)))))
+flexCUDA_release_c_o = $(addprefix $(flexCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexCUDA_cfiles)))))
+flexCUDA_release_cuda_src_cuda_bvh_cu_o += $(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o
+flexCUDA_release_cuda_src_cuda_flex_cu_o += $(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o
+flexCUDA_release_cuda_src_cuda_sort_cu_o += $(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o
+flexCUDA_release_obj = $(flexCUDA_release_cpp_o) $(flexCUDA_release_cc_o) $(flexCUDA_release_c_o) $(flexCUDA_release_cuda_src_cuda_bvh_cu_o) $(flexCUDA_release_cuda_src_cuda_flex_cu_o) $(flexCUDA_release_cuda_src_cuda_sort_cu_o)
+flexCUDA_release_bin := ./../../../lib/android/libNvFlexReleaseCUDA_armv7l.a
+
+clean_flexCUDA_release:
+ @$(ECHO) clean flexCUDA release
+ @$(RMDIR) $(flexCUDA_release_objsdir)
+ @$(RMDIR) $(flexCUDA_release_bin)
+ @$(RMDIR) $(DEPSDIR)/flexCUDA/release
+
+build_flexCUDA_release: postbuild_flexCUDA_release
+postbuild_flexCUDA_release: mainbuild_flexCUDA_release
+mainbuild_flexCUDA_release: prebuild_flexCUDA_release $(flexCUDA_release_bin)
+prebuild_flexCUDA_release:
+
+$(flexCUDA_release_bin): $(flexCUDA_release_obj)
+ mkdir -p `dirname ./../../../lib/android/libNvFlexReleaseCUDA_armv7l.a`
+ @$(AR) rcs $(flexCUDA_release_bin) $(flexCUDA_release_obj)
+ $(ECHO) building $@ complete!
+
+$(flexCUDA_release_cuda_src_cuda_bvh_cu_o): $(flexCUDA_cuda_src_cuda_bvh_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o`
+ $(ECHO) "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o"
+ "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o"
+
+$(flexCUDA_release_cuda_src_cuda_flex_cu_o): $(flexCUDA_cuda_src_cuda_flex_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o`
+ $(ECHO) "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o"
+ "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o"
+
+$(flexCUDA_release_cuda_src_cuda_sort_cu_o): $(flexCUDA_cuda_src_cuda_sort_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o`
+ $(ECHO) "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o"
+ "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o"
+
+flexCUDA_release_DEPDIR = $(dir $(@))/$(*F)
+$(flexCUDA_release_cpp_o): $(flexCUDA_release_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))))))
+ cp $(flexCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ rm -f $(flexCUDA_release_DEPDIR).d
+
+$(flexCUDA_release_cc_o): $(flexCUDA_release_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))))))
+ cp $(flexCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))))).release.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))))).release.P; \
+ rm -f $(flexCUDA_release_DEPDIR).d
+
+$(flexCUDA_release_c_o): $(flexCUDA_release_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))))))
+ cp $(flexCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ rm -f $(flexCUDA_release_DEPDIR).d
+
+flexCUDA_debug_hpaths :=
+flexCUDA_debug_hpaths += ./../../..
+flexCUDA_debug_hpaths += ./../../../../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include
+flexCUDA_debug_hpaths += ./../../../../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport
+flexCUDA_debug_hpaths += ./../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include
+flexCUDA_debug_lpaths :=
+flexCUDA_debug_lpaths += ./../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/lib
+flexCUDA_debug_lpaths += ./../../../lib/android
+flexCUDA_debug_lpaths += ./../../../../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/libs/armeabi-v7a
+flexCUDA_debug_defines := $(flexCUDA_custom_defines)
+flexCUDA_debug_defines += android
+flexCUDA_debug_defines += ANDROID=1
+flexCUDA_debug_defines += ANDROID_PLAT=1
+flexCUDA_debug_defines += DISABLE_IMPORTGL
+flexCUDA_debug_libraries :=
+flexCUDA_debug_common_cflags := $(flexCUDA_custom_cflags)
+flexCUDA_debug_common_cflags += -MMD
+flexCUDA_debug_common_cflags += $(addprefix -D, $(flexCUDA_debug_defines))
+flexCUDA_debug_common_cflags += $(addprefix -I, $(flexCUDA_debug_hpaths))
+flexCUDA_debug_cflags := $(flexCUDA_debug_common_cflags)
+flexCUDA_debug_cflags += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions
+flexCUDA_debug_cflags += -g -O0
+flexCUDA_debug_cppflags := $(flexCUDA_debug_common_cflags)
+flexCUDA_debug_cppflags += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions
+flexCUDA_debug_cppflags += -g -O0
+flexCUDA_debug_lflags := $(flexCUDA_custom_lflags)
+flexCUDA_debug_lflags += $(addprefix -L, $(flexCUDA_debug_lpaths))
+flexCUDA_debug_lflags += -Wl,--start-group $(addprefix -l, $(flexCUDA_debug_libraries)) -Wl,--end-group
+flexCUDA_debug_objsdir = $(OBJS_DIR)/flexCUDA_debug
+flexCUDA_debug_cpp_o = $(addprefix $(flexCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexCUDA_cppfiles)))))
+flexCUDA_debug_cc_o = $(addprefix $(flexCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexCUDA_ccfiles)))))
+flexCUDA_debug_c_o = $(addprefix $(flexCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexCUDA_cfiles)))))
+flexCUDA_debug_cuda_src_cuda_bvh_cu_o += $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o
+flexCUDA_debug_cuda_src_cuda_flex_cu_o += $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o
+flexCUDA_debug_cuda_src_cuda_sort_cu_o += $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o
+flexCUDA_debug_obj = $(flexCUDA_debug_cpp_o) $(flexCUDA_debug_cc_o) $(flexCUDA_debug_c_o) $(flexCUDA_debug_cuda_src_cuda_bvh_cu_o) $(flexCUDA_debug_cuda_src_cuda_flex_cu_o) $(flexCUDA_debug_cuda_src_cuda_sort_cu_o)
+flexCUDA_debug_bin := ./../../../lib/android/libNvFlexDebugCUDA_armv7l.a
+
+clean_flexCUDA_debug:
+ @$(ECHO) clean flexCUDA debug
+ @$(RMDIR) $(flexCUDA_debug_objsdir)
+ @$(RMDIR) $(flexCUDA_debug_bin)
+ @$(RMDIR) $(DEPSDIR)/flexCUDA/debug
+
+build_flexCUDA_debug: postbuild_flexCUDA_debug
+postbuild_flexCUDA_debug: mainbuild_flexCUDA_debug
+mainbuild_flexCUDA_debug: prebuild_flexCUDA_debug $(flexCUDA_debug_bin)
+prebuild_flexCUDA_debug:
+
+$(flexCUDA_debug_bin): $(flexCUDA_debug_obj)
+ mkdir -p `dirname ./../../../lib/android/libNvFlexDebugCUDA_armv7l.a`
+ @$(AR) rcs $(flexCUDA_debug_bin) $(flexCUDA_debug_obj)
+ $(ECHO) building $@ complete!
+
+$(flexCUDA_debug_cuda_src_cuda_bvh_cu_o): $(flexCUDA_cuda_src_cuda_bvh_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o`
+ $(ECHO) "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o"
+ "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o"
+
+$(flexCUDA_debug_cuda_src_cuda_flex_cu_o): $(flexCUDA_cuda_src_cuda_flex_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o`
+ $(ECHO) "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o"
+ "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o"
+
+$(flexCUDA_debug_cuda_src_cuda_sort_cu_o): $(flexCUDA_cuda_src_cuda_sort_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o`
+ $(ECHO) "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o"
+ "../../../../../../external/CUDA/cuda-6.0-linux/bin/nvcc" -ccbin /home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"../../../../../../external/CUDA/cuda-6.0-linux/targets/armv7-linux-androideabi/include" -I"../../.." -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/sources/cxx-stl/stlport/stlport" -I"/home/mmacklin/swhost/devrel/libdev/flex/dev/main/../../../external/android-ndk/android-ndk-r10e-linux/platforms/android-15/arch-arm/usr/include" --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o"
+
+flexCUDA_debug_DEPDIR = $(dir $(@))/$(*F)
+$(flexCUDA_debug_cpp_o): $(flexCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))))))
+ cp $(flexCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ rm -f $(flexCUDA_debug_DEPDIR).d
+
+$(flexCUDA_debug_cc_o): $(flexCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))))))
+ cp $(flexCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))))).debug.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))))).debug.P; \
+ rm -f $(flexCUDA_debug_DEPDIR).d
+
+$(flexCUDA_debug_c_o): $(flexCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))))))
+ cp $(flexCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ rm -f $(flexCUDA_debug_DEPDIR).d
+
+clean_flexCUDA: clean_flexCUDA_release clean_flexCUDA_debug
+ rm -rf $(DEPSDIR)
+
+export VERBOSE
+ifndef VERBOSE
+.SILENT:
+endif
diff --git a/extensions/compiler/makeandroid/Makefile.flexExtCUDA.mk b/extensions/compiler/makeandroid/Makefile.flexExtCUDA.mk
new file mode 100644
index 0000000..f8bf780
--- /dev/null
+++ b/extensions/compiler/makeandroid/Makefile.flexExtCUDA.mk
@@ -0,0 +1,205 @@
+# Makefile generated by XPJ for android
+-include Makefile.custom
+ProjectName = flexExtCUDA
+flexExtCUDA_cppfiles += ./../../flexExtCloth.cpp
+flexExtCUDA_cppfiles += ./../../flexExtContainer.cpp
+flexExtCUDA_cppfiles += ./../../flexExtMovingFrame.cpp
+flexExtCUDA_cppfiles += ./../../flexExtRigid.cpp
+flexExtCUDA_cppfiles += ./../../flexExtSoft.cpp
+flexExtCUDA_cuda_cuda_flexExt_cu += ./../../cuda/flexExt.cu
+flexExtCUDA_cppfiles += ./../../../core/sdf.cpp
+flexExtCUDA_cppfiles += ./../../../core/voxelize.cpp
+flexExtCUDA_cppfiles += ./../../../core/maths.cpp
+flexExtCUDA_cppfiles += ./../../../core/aabbtree.cpp
+
+flexExtCUDA_cpp_release_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_cc_release_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_c_release_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_release_dep = $(flexExtCUDA_cpp_release_dep) $(flexExtCUDA_cc_release_dep) $(flexExtCUDA_c_release_dep)
+-include $(flexExtCUDA_release_dep)
+flexExtCUDA_cpp_debug_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_cc_debug_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_c_debug_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_debug_dep = $(flexExtCUDA_cpp_debug_dep) $(flexExtCUDA_cc_debug_dep) $(flexExtCUDA_c_debug_dep)
+-include $(flexExtCUDA_debug_dep)
+flexExtCUDA_release_hpaths :=
+flexExtCUDA_release_hpaths += ./../../..
+flexExtCUDA_release_hpaths += $(NDK_ROOT)/$(NDK_VERSION)/platforms/android-15/arch-arm/usr/include
+flexExtCUDA_release_hpaths += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/stlport
+flexExtCUDA_release_hpaths += $(CUDA_PATH)/targets/armv7-linux-androideabi/include
+flexExtCUDA_release_lpaths :=
+flexExtCUDA_release_lpaths += $(CUDA_PATH)/targets/armv7-linux-androideabi/lib
+flexExtCUDA_release_lpaths += ./../../../lib/android
+flexExtCUDA_release_lpaths += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/libs/armeabi-v7a
+flexExtCUDA_release_defines := $(flexExtCUDA_custom_defines)
+flexExtCUDA_release_defines += android
+flexExtCUDA_release_defines += ANDROID=1
+flexExtCUDA_release_defines += ANDROID_PLAT=1
+flexExtCUDA_release_defines += DISABLE_IMPORTGL
+flexExtCUDA_release_libraries :=
+flexExtCUDA_release_libraries += ./../../../lib/android/libNvFlexRelease_armv7l.a
+flexExtCUDA_release_common_cflags := $(flexExtCUDA_custom_cflags)
+flexExtCUDA_release_common_cflags += -MMD
+flexExtCUDA_release_common_cflags += $(addprefix -D, $(flexExtCUDA_release_defines))
+flexExtCUDA_release_common_cflags += $(addprefix -I, $(flexExtCUDA_release_hpaths))
+flexExtCUDA_release_common_cflags += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions
+flexExtCUDA_release_common_cflags += -O3 -ffast-math
+flexExtCUDA_release_cflags := $(flexExtCUDA_release_common_cflags)
+flexExtCUDA_release_cppflags := $(flexExtCUDA_release_common_cflags)
+flexExtCUDA_release_lflags := $(flexExtCUDA_custom_lflags)
+flexExtCUDA_release_lflags += $(addprefix -L, $(flexExtCUDA_release_lpaths))
+flexExtCUDA_release_lflags += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_release_libraries)) -Wl,--end-group
+flexExtCUDA_release_objsdir = $(OBJS_DIR)/flexExtCUDA_release
+flexExtCUDA_release_cpp_o = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_release_cc_o = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_release_c_o = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_release_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o
+flexExtCUDA_release_obj = $(flexExtCUDA_release_cpp_o) $(flexExtCUDA_release_cc_o) $(flexExtCUDA_release_c_o) $(flexExtCUDA_release_cuda_cuda_flexExt_cu_o)
+flexExtCUDA_release_bin := ./../../../lib/android/libflexExt_cuda_release_armv7l.a
+
+clean_flexExtCUDA_release:
+ @$(ECHO) clean flexExtCUDA release
+ @$(RMDIR) $(flexExtCUDA_release_objsdir)
+ @$(RMDIR) $(flexExtCUDA_release_bin)
+ @$(RMDIR) $(DEPSDIR)/flexExtCUDA/release
+
+build_flexExtCUDA_release: postbuild_flexExtCUDA_release
+postbuild_flexExtCUDA_release: mainbuild_flexExtCUDA_release
+mainbuild_flexExtCUDA_release: prebuild_flexExtCUDA_release $(flexExtCUDA_release_bin)
+prebuild_flexExtCUDA_release:
+
+$(flexExtCUDA_release_bin): $(flexExtCUDA_release_obj)
+ mkdir -p `dirname ./../../../lib/android/libflexExt_cuda_release_armv7l.a`
+ @$(AR) rcs $(flexExtCUDA_release_bin) $(flexExtCUDA_release_obj)
+ $(ECHO) building $@ complete!
+
+$(flexExtCUDA_release_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o`
+ $(ECHO) "$(CUDA_PATH)/bin/nvcc" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"$(CUDA_PATH)/targets/armv7-linux-androideabi/include" -I"../../.." -I"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/stlport" -I"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-15/arch-arm/usr/include" --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o"
+ "$(CUDA_PATH)/bin/nvcc" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"$(CUDA_PATH)/targets/armv7-linux-androideabi/include" -I"../../.." -I"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/stlport" -I"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-15/arch-arm/usr/include" --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o"
+
+flexExtCUDA_release_DEPDIR = $(dir $(@))/$(*F)
+$(flexExtCUDA_release_cpp_o): $(flexExtCUDA_release_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))
+ cp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ rm -f $(flexExtCUDA_release_DEPDIR).d
+
+$(flexExtCUDA_release_cc_o): $(flexExtCUDA_release_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))
+ cp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \
+ rm -f $(flexExtCUDA_release_DEPDIR).d
+
+$(flexExtCUDA_release_c_o): $(flexExtCUDA_release_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexExtCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))))
+ cp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ rm -f $(flexExtCUDA_release_DEPDIR).d
+
+flexExtCUDA_debug_hpaths :=
+flexExtCUDA_debug_hpaths += ./../../..
+flexExtCUDA_debug_hpaths += $(NDK_ROOT)/$(NDK_VERSION)/platforms/android-15/arch-arm/usr/include
+flexExtCUDA_debug_hpaths += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/stlport
+flexExtCUDA_debug_hpaths += $(CUDA_PATH)/targets/armv7-linux-androideabi/include
+flexExtCUDA_debug_lpaths :=
+flexExtCUDA_debug_lpaths += $(CUDA_PATH)/targets/armv7-linux-androideabi/lib
+flexExtCUDA_debug_lpaths += ./../../../lib/android
+flexExtCUDA_debug_lpaths += $(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/libs/armeabi-v7a
+flexExtCUDA_debug_defines := $(flexExtCUDA_custom_defines)
+flexExtCUDA_debug_defines += android
+flexExtCUDA_debug_defines += ANDROID=1
+flexExtCUDA_debug_defines += ANDROID_PLAT=1
+flexExtCUDA_debug_defines += DISABLE_IMPORTGL
+flexExtCUDA_debug_libraries :=
+flexExtCUDA_debug_libraries += ./../../../lib/android/libNvFlexDebug_armv7l.a
+flexExtCUDA_debug_common_cflags := $(flexExtCUDA_custom_cflags)
+flexExtCUDA_debug_common_cflags += -MMD
+flexExtCUDA_debug_common_cflags += $(addprefix -D, $(flexExtCUDA_debug_defines))
+flexExtCUDA_debug_common_cflags += $(addprefix -I, $(flexExtCUDA_debug_hpaths))
+flexExtCUDA_debug_common_cflags += -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions
+flexExtCUDA_debug_common_cflags += -g -O0
+flexExtCUDA_debug_cflags := $(flexExtCUDA_debug_common_cflags)
+flexExtCUDA_debug_cppflags := $(flexExtCUDA_debug_common_cflags)
+flexExtCUDA_debug_lflags := $(flexExtCUDA_custom_lflags)
+flexExtCUDA_debug_lflags += $(addprefix -L, $(flexExtCUDA_debug_lpaths))
+flexExtCUDA_debug_lflags += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_debug_libraries)) -Wl,--end-group
+flexExtCUDA_debug_objsdir = $(OBJS_DIR)/flexExtCUDA_debug
+flexExtCUDA_debug_cpp_o = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_debug_cc_o = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_debug_c_o = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_debug_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o
+flexExtCUDA_debug_obj = $(flexExtCUDA_debug_cpp_o) $(flexExtCUDA_debug_cc_o) $(flexExtCUDA_debug_c_o) $(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o)
+flexExtCUDA_debug_bin := ./../../../lib/android/libflexExt_cuda_debug_armv7l.a
+
+clean_flexExtCUDA_debug:
+ @$(ECHO) clean flexExtCUDA debug
+ @$(RMDIR) $(flexExtCUDA_debug_objsdir)
+ @$(RMDIR) $(flexExtCUDA_debug_bin)
+ @$(RMDIR) $(DEPSDIR)/flexExtCUDA/debug
+
+build_flexExtCUDA_debug: postbuild_flexExtCUDA_debug
+postbuild_flexExtCUDA_debug: mainbuild_flexExtCUDA_debug
+mainbuild_flexExtCUDA_debug: prebuild_flexExtCUDA_debug $(flexExtCUDA_debug_bin)
+prebuild_flexExtCUDA_debug:
+
+$(flexExtCUDA_debug_bin): $(flexExtCUDA_debug_obj)
+ mkdir -p `dirname ./../../../lib/android/libflexExt_cuda_debug_armv7l.a`
+ @$(AR) rcs $(flexExtCUDA_debug_bin) $(flexExtCUDA_debug_obj)
+ $(ECHO) building $@ complete!
+
+$(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o`
+ $(ECHO) "$(CUDA_PATH)/bin/nvcc" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"$(CUDA_PATH)/targets/armv7-linux-androideabi/include" -I"../../.." -I"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/stlport" -I"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-15/arch-arm/usr/include" --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o"
+ "$(CUDA_PATH)/bin/nvcc" -ccbin $(NDK_ROOT)/$(NDK_VERSION)/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin/arm-linux-androideabi-g++ -target-cpu-arch=ARM -m32 -arch=sm_32 -O3 -Xptxas -dlcm=ca -target-os-variant=Android -I"$(CUDA_PATH)/targets/armv7-linux-androideabi/include" -I"../../.." -I"$(NDK_ROOT)/$(NDK_VERSION)/sources/cxx-stl/stlport/stlport" -I"$(NDK_ROOT)/$(NDK_VERSION)/platforms/android-15/arch-arm/usr/include" --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o"
+
+flexExtCUDA_debug_DEPDIR = $(dir $(@))/$(*F)
+$(flexExtCUDA_debug_cpp_o): $(flexExtCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))
+ cp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ rm -f $(flexExtCUDA_debug_DEPDIR).d
+
+$(flexExtCUDA_debug_cc_o): $(flexExtCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))
+ cp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \
+ rm -f $(flexExtCUDA_debug_DEPDIR).d
+
+$(flexExtCUDA_debug_c_o): $(flexExtCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexExtCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))))
+ cp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ rm -f $(flexExtCUDA_debug_DEPDIR).d
+
+clean_flexExtCUDA: clean_flexExtCUDA_release clean_flexExtCUDA_debug
+ rm -rf $(DEPSDIR)
+
+export VERBOSE
+ifndef VERBOSE
+.SILENT:
+endif
diff --git a/extensions/compiler/makelinux64/Makefile b/extensions/compiler/makelinux64/Makefile
new file mode 100644
index 0000000..798e4b1
--- /dev/null
+++ b/extensions/compiler/makelinux64/Makefile
@@ -0,0 +1,197 @@
+#!/usr/bin/make
+# Makefile generated by XPJ for linux64
+
+DEPSDIR = .deps
+#default defines
+OBJS_DIR = build
+RMDIR = rm -fr
+ECHO = echo
+CCLD = g++
+CXX = g++
+CC = gcc
+RANLIB = ranlib
+AR = ar
+STRIP = strip
+OBJDUMP = objdump
+OBJCOPY = objcopy
+-include Makedefs.linux64.mk
+
+all: debug release
+
+debug: build_flexExtCUDA_debug
+
+release: build_flexExtCUDA_release
+
+clean: clean_flexExtCUDA_release clean_flexExtCUDA_debug
+ rm -rf $(DEPSDIR)
+
+
+clean_release: clean_flexExtCUDA_release
+ rm -rf $(DEPSDIR)
+
+
+clean_debug: clean_flexExtCUDA_debug
+ rm -rf $(DEPSDIR)
+
+
+include Makefile.flexExtCUDA.mk
+
+
+# Disable implicit rules to speedup build
+.SUFFIXES:
+SUFFIXES :=
+%.out:
+%.a:
+%.ln:
+%.o:
+%: %.o
+%.c:
+%: %.c
+%.ln: %.c
+%.o: %.c
+%.cc:
+%: %.cc
+%.o: %.cc
+%.C:
+%: %.C
+%.o: %.C
+%.cpp:
+%: %.cpp
+%.o: %.cpp
+%.p:
+%: %.p
+%.o: %.p
+%.f:
+%:
+ %.f%.o: %.f
+%.F:
+%: %.F
+%.o: %.F
+%.f: %.F
+%.r:
+%: %.r
+%.o: %.r
+%.f: %.r
+%.y:
+%.ln: %.y
+%.c: %.y
+%.l:
+%.ln: %.l
+%.c: %.l
+%.r: %.l
+%.s:
+%: %.s
+%.o: %.s
+%.S:
+%: %.S
+%.o: %.S
+%.s: %.S
+%.mod:
+%: %.mod
+%.o: %.mod
+%.sym:
+%.def:
+%.sym: %.def
+%.h:
+%.info:
+%.dvi:
+%.tex:
+%.dvi: %.tex
+%.texinfo:
+%.info: %.texinfo
+%.dvi: %.texinfo
+%.texi:
+%.info: %.texi
+%.dvi: %.texi
+%.txinfo:
+%.info: %.txinfo
+%.dvi: %.txinfo
+%.w:
+%.c: %.w
+%.tex: %.w
+%.ch:
+%.web:
+%.p: %.web
+%.tex: %.web
+%.sh:
+%: %.sh
+%.elc:
+%.el:
+(%): %
+%.out: %
+%.c: %.w %.ch
+%.tex: %.w %.ch
+%: %,v
+%: RCS/%,v
+%: RCS/%
+%: s.%
+%: SCCS/s.%
+.web.p:
+.l.r:
+.dvi:
+.F.o:
+.l:
+.y.ln:
+.o:
+.y:
+.def.sym:
+.p.o:
+.p:
+.txinfo.dvi:
+.a:
+.l.ln:
+.w.c:
+.texi.dvi:
+.sh:
+.cc:
+.cc.o:
+.def:
+.c.o:
+.r.o:
+.r:
+.info:
+.elc:
+.l.c:
+.out:
+.C:
+.r.f:
+.S:
+.texinfo.info:
+.c:
+.w.tex:
+.c.ln:
+.s.o:
+.s:
+.texinfo.dvi:
+.el:
+.texinfo:
+.y.c:
+.web.tex:
+.texi.info:
+.DEFAULT:
+.h:
+.tex.dvi:
+.cpp.o:
+.cpp:
+.C.o:
+.ln:
+.texi:
+.txinfo:
+.tex:
+.txinfo.info:
+.ch:
+.S.s:
+.mod:
+.mod.o:
+.F.f:
+.w:
+.S.o:
+.F:
+.web:
+.sym:
+.f:
+.f.o:
+export VERBOSE
+ifndef VERBOSE
+.SILENT:
+endif
diff --git a/extensions/compiler/makelinux64/Makefile.flexCUDA.mk b/extensions/compiler/makelinux64/Makefile.flexCUDA.mk
new file mode 100644
index 0000000..3d3b9cd
--- /dev/null
+++ b/extensions/compiler/makelinux64/Makefile.flexCUDA.mk
@@ -0,0 +1,217 @@
+# Makefile generated by XPJ for linux64
+-include Makefile.custom
+ProjectName = flexCUDA
+flexCUDA_cppfiles += ./../../../src/cuda/util.cpp
+flexCUDA_cuda_src_cuda_bvh_cu += ./../../../src/cuda/bvh.cu
+flexCUDA_cuda_src_cuda_flex_cu += ./../../../src/cuda/flex.cu
+flexCUDA_cuda_src_cuda_sort_cu += ./../../../src/cuda/sort.cu
+
+flexCUDA_cpp_release_dep = $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexCUDA_cppfiles)))))
+flexCUDA_cc_release_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexCUDA_ccfiles)))))
+flexCUDA_c_release_dep = $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexCUDA_cfiles)))))
+flexCUDA_release_dep = $(flexCUDA_cpp_release_dep) $(flexCUDA_cc_release_dep) $(flexCUDA_c_release_dep)
+-include $(flexCUDA_release_dep)
+flexCUDA_cpp_debug_dep = $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexCUDA_cppfiles)))))
+flexCUDA_cc_debug_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexCUDA_ccfiles)))))
+flexCUDA_c_debug_dep = $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexCUDA_cfiles)))))
+flexCUDA_debug_dep = $(flexCUDA_cpp_debug_dep) $(flexCUDA_cc_debug_dep) $(flexCUDA_c_debug_dep)
+-include $(flexCUDA_debug_dep)
+flexCUDA_release_hpaths :=
+flexCUDA_release_hpaths += ./../../../../../../external/CUDA/8.0.44-linux/include
+flexCUDA_release_hpaths += ./../../../../../../external/CUDA/8.0.44-linux/extras/cupti/include
+flexCUDA_release_hpaths += ./../../..
+flexCUDA_release_lpaths :=
+flexCUDA_release_lpaths += ./../../../../../../external/CUDA/8.0.44-linux/lib64
+flexCUDA_release_defines := $(flexCUDA_custom_defines)
+flexCUDA_release_libraries :=
+flexCUDA_release_libraries += ./../../../lib/linux64/NvFlexDevice_x64.a
+flexCUDA_release_common_cflags := $(flexCUDA_custom_cflags)
+flexCUDA_release_common_cflags += -MMD
+flexCUDA_release_common_cflags += $(addprefix -D, $(flexCUDA_release_defines))
+flexCUDA_release_common_cflags += $(addprefix -I, $(flexCUDA_release_hpaths))
+flexCUDA_release_common_cflags += -m64
+flexCUDA_release_cflags := $(flexCUDA_release_common_cflags)
+flexCUDA_release_cflags += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing
+flexCUDA_release_cflags += -O3 -ffast-math -DNDEBUG
+flexCUDA_release_cppflags := $(flexCUDA_release_common_cflags)
+flexCUDA_release_cppflags += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing
+flexCUDA_release_cppflags += -O3 -ffast-math -DNDEBUG
+flexCUDA_release_lflags := $(flexCUDA_custom_lflags)
+flexCUDA_release_lflags += $(addprefix -L, $(flexCUDA_release_lpaths))
+flexCUDA_release_lflags += -Wl,--start-group $(addprefix -l, $(flexCUDA_release_libraries)) -Wl,--end-group
+flexCUDA_release_lflags += -m64
+flexCUDA_release_objsdir = $(OBJS_DIR)/flexCUDA_release
+flexCUDA_release_cpp_o = $(addprefix $(flexCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexCUDA_cppfiles)))))
+flexCUDA_release_cc_o = $(addprefix $(flexCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexCUDA_ccfiles)))))
+flexCUDA_release_c_o = $(addprefix $(flexCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexCUDA_cfiles)))))
+flexCUDA_release_cuda_src_cuda_bvh_cu_o += $(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o
+flexCUDA_release_cuda_src_cuda_flex_cu_o += $(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o
+flexCUDA_release_cuda_src_cuda_sort_cu_o += $(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o
+flexCUDA_release_obj = $(flexCUDA_release_cpp_o) $(flexCUDA_release_cc_o) $(flexCUDA_release_c_o) $(flexCUDA_release_cuda_src_cuda_bvh_cu_o) $(flexCUDA_release_cuda_src_cuda_flex_cu_o) $(flexCUDA_release_cuda_src_cuda_sort_cu_o)
+flexCUDA_release_bin := ./../../../lib/linux64/NvFlexReleaseCUDA_x64.a
+
+clean_flexCUDA_release:
+ @$(ECHO) clean flexCUDA release
+ @$(RMDIR) $(flexCUDA_release_objsdir)
+ @$(RMDIR) $(flexCUDA_release_bin)
+ @$(RMDIR) $(DEPSDIR)/flexCUDA/release
+
+build_flexCUDA_release: postbuild_flexCUDA_release
+postbuild_flexCUDA_release: mainbuild_flexCUDA_release
+mainbuild_flexCUDA_release: prebuild_flexCUDA_release $(flexCUDA_release_bin)
+prebuild_flexCUDA_release:
+
+$(flexCUDA_release_bin): $(flexCUDA_release_obj)
+ mkdir -p `dirname ./../../../lib/linux64/NvFlexReleaseCUDA_x64.a`
+ @$(AR) rcs $(flexCUDA_release_bin) $(flexCUDA_release_obj)
+ $(ECHO) building $@ complete!
+
+$(flexCUDA_release_cuda_src_cuda_bvh_cu_o): $(flexCUDA_cuda_src_cuda_bvh_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o`
+ $(ECHO) ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o"
+ ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudabvh.o"
+
+$(flexCUDA_release_cuda_src_cuda_flex_cu_o): $(flexCUDA_cuda_src_cuda_flex_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o`
+ $(ECHO) ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o"
+ ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudaflex.o"
+
+$(flexCUDA_release_cuda_src_cuda_sort_cu_o): $(flexCUDA_cuda_src_cuda_sort_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o`
+ $(ECHO) ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o"
+ ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_release/cuda/src/cudasort.o"
+
+flexCUDA_release_DEPDIR = $(dir $(@))/$(*F)
+$(flexCUDA_release_cpp_o): $(flexCUDA_release_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))))))
+ cp $(flexCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ rm -f $(flexCUDA_release_DEPDIR).d
+
+$(flexCUDA_release_cc_o): $(flexCUDA_release_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))))))
+ cp $(flexCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))))).release.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_ccfiles))))).release.P; \
+ rm -f $(flexCUDA_release_DEPDIR).d
+
+$(flexCUDA_release_c_o): $(flexCUDA_release_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))))))
+ cp $(flexCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_release_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ rm -f $(flexCUDA_release_DEPDIR).d
+
+flexCUDA_debug_hpaths :=
+flexCUDA_debug_hpaths += ./../../../../../../external/CUDA/8.0.44-linux/include
+flexCUDA_debug_hpaths += ./../../../../../../external/CUDA/8.0.44-linux/extras/cupti/include
+flexCUDA_debug_hpaths += ./../../..
+flexCUDA_debug_lpaths :=
+flexCUDA_debug_lpaths += ./../../../../../../external/CUDA/8.0.44-linux/lib64
+flexCUDA_debug_defines := $(flexCUDA_custom_defines)
+flexCUDA_debug_libraries :=
+flexCUDA_debug_libraries += ./../../../lib/linux64/NvFlexDevice_x64.a
+flexCUDA_debug_common_cflags := $(flexCUDA_custom_cflags)
+flexCUDA_debug_common_cflags += -MMD
+flexCUDA_debug_common_cflags += $(addprefix -D, $(flexCUDA_debug_defines))
+flexCUDA_debug_common_cflags += $(addprefix -I, $(flexCUDA_debug_hpaths))
+flexCUDA_debug_common_cflags += -m64
+flexCUDA_debug_cflags := $(flexCUDA_debug_common_cflags)
+flexCUDA_debug_cflags += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing
+flexCUDA_debug_cflags += -g -O0
+flexCUDA_debug_cppflags := $(flexCUDA_debug_common_cflags)
+flexCUDA_debug_cppflags += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing
+flexCUDA_debug_cppflags += -g -O0
+flexCUDA_debug_lflags := $(flexCUDA_custom_lflags)
+flexCUDA_debug_lflags += $(addprefix -L, $(flexCUDA_debug_lpaths))
+flexCUDA_debug_lflags += -Wl,--start-group $(addprefix -l, $(flexCUDA_debug_libraries)) -Wl,--end-group
+flexCUDA_debug_lflags += -m64
+flexCUDA_debug_objsdir = $(OBJS_DIR)/flexCUDA_debug
+flexCUDA_debug_cpp_o = $(addprefix $(flexCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexCUDA_cppfiles)))))
+flexCUDA_debug_cc_o = $(addprefix $(flexCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexCUDA_ccfiles)))))
+flexCUDA_debug_c_o = $(addprefix $(flexCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexCUDA_cfiles)))))
+flexCUDA_debug_cuda_src_cuda_bvh_cu_o += $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o
+flexCUDA_debug_cuda_src_cuda_flex_cu_o += $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o
+flexCUDA_debug_cuda_src_cuda_sort_cu_o += $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o
+flexCUDA_debug_obj = $(flexCUDA_debug_cpp_o) $(flexCUDA_debug_cc_o) $(flexCUDA_debug_c_o) $(flexCUDA_debug_cuda_src_cuda_bvh_cu_o) $(flexCUDA_debug_cuda_src_cuda_flex_cu_o) $(flexCUDA_debug_cuda_src_cuda_sort_cu_o)
+flexCUDA_debug_bin := ./../../../lib/linux64/NvFlexDebugCUDA_x64.a
+
+clean_flexCUDA_debug:
+ @$(ECHO) clean flexCUDA debug
+ @$(RMDIR) $(flexCUDA_debug_objsdir)
+ @$(RMDIR) $(flexCUDA_debug_bin)
+ @$(RMDIR) $(DEPSDIR)/flexCUDA/debug
+
+build_flexCUDA_debug: postbuild_flexCUDA_debug
+postbuild_flexCUDA_debug: mainbuild_flexCUDA_debug
+mainbuild_flexCUDA_debug: prebuild_flexCUDA_debug $(flexCUDA_debug_bin)
+prebuild_flexCUDA_debug:
+
+$(flexCUDA_debug_bin): $(flexCUDA_debug_obj)
+ mkdir -p `dirname ./../../../lib/linux64/NvFlexDebugCUDA_x64.a`
+ @$(AR) rcs $(flexCUDA_debug_bin) $(flexCUDA_debug_obj)
+ $(ECHO) building $@ complete!
+
+$(flexCUDA_debug_cuda_src_cuda_bvh_cu_o): $(flexCUDA_cuda_src_cuda_bvh_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o`
+ $(ECHO) ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o"
+ ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/bvh.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudabvh.o"
+
+$(flexCUDA_debug_cuda_src_cuda_flex_cu_o): $(flexCUDA_cuda_src_cuda_flex_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o`
+ $(ECHO) ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o"
+ ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/flex.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudaflex.o"
+
+$(flexCUDA_debug_cuda_src_cuda_sort_cu_o): $(flexCUDA_cuda_src_cuda_sort_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o`
+ $(ECHO) ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o"
+ ../../../../../../external/CUDA/8.0.44-linux/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I../../../../../../external/CUDA/8.0.44-linux/include -I../../../external/cub-1.3.2 --compile "../../../src/cuda/sort.cu" -o "$(OBJS_DIR)/flexCUDA_debug/cuda/src/cudasort.o"
+
+flexCUDA_debug_DEPDIR = $(dir $(@))/$(*F)
+$(flexCUDA_debug_cpp_o): $(flexCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))))))
+ cp $(flexCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cppfiles))))).P; \
+ rm -f $(flexCUDA_debug_DEPDIR).d
+
+$(flexCUDA_debug_cc_o): $(flexCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))))))
+ cp $(flexCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))))).debug.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_ccfiles))))).debug.P; \
+ rm -f $(flexCUDA_debug_DEPDIR).d
+
+$(flexCUDA_debug_c_o): $(flexCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))))))
+ cp $(flexCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexCUDA_debug_objsdir),, $@))), $(flexCUDA_cfiles))))).P; \
+ rm -f $(flexCUDA_debug_DEPDIR).d
+
+clean_flexCUDA: clean_flexCUDA_release clean_flexCUDA_debug
+ rm -rf $(DEPSDIR)
+
+export VERBOSE
+ifndef VERBOSE
+.SILENT:
+endif
diff --git a/extensions/compiler/makelinux64/Makefile.flexExtCUDA.mk b/extensions/compiler/makelinux64/Makefile.flexExtCUDA.mk
new file mode 100644
index 0000000..cf13501
--- /dev/null
+++ b/extensions/compiler/makelinux64/Makefile.flexExtCUDA.mk
@@ -0,0 +1,197 @@
+# Makefile generated by XPJ for linux64
+-include Makefile.custom
+ProjectName = flexExtCUDA
+flexExtCUDA_cppfiles += ./../../flexExtCloth.cpp
+flexExtCUDA_cppfiles += ./../../flexExtContainer.cpp
+flexExtCUDA_cppfiles += ./../../flexExtMovingFrame.cpp
+flexExtCUDA_cppfiles += ./../../flexExtRigid.cpp
+flexExtCUDA_cppfiles += ./../../flexExtSoft.cpp
+flexExtCUDA_cuda_cuda_flexExt_cu += ./../../cuda/flexExt.cu
+flexExtCUDA_cppfiles += ./../../../core/sdf.cpp
+flexExtCUDA_cppfiles += ./../../../core/voxelize.cpp
+flexExtCUDA_cppfiles += ./../../../core/maths.cpp
+flexExtCUDA_cppfiles += ./../../../core/aabbtree.cpp
+
+flexExtCUDA_cpp_release_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_cc_release_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.release.P, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_c_release_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_release_dep = $(flexExtCUDA_cpp_release_dep) $(flexExtCUDA_cc_release_dep) $(flexExtCUDA_c_release_dep)
+-include $(flexExtCUDA_release_dep)
+flexExtCUDA_cpp_debug_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.P, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_cc_debug_dep = $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.debug.P, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_c_debug_dep = $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.P, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_debug_dep = $(flexExtCUDA_cpp_debug_dep) $(flexExtCUDA_cc_debug_dep) $(flexExtCUDA_c_debug_dep)
+-include $(flexExtCUDA_debug_dep)
+flexExtCUDA_release_hpaths :=
+flexExtCUDA_release_hpaths += $(CUDA_PATH)/include
+flexExtCUDA_release_hpaths += $(CUDA_PATH)/extras/cupti/include
+flexExtCUDA_release_hpaths += ./../../..
+flexExtCUDA_release_hpaths += ./../../../external/freeglut/include
+flexExtCUDA_release_lpaths :=
+flexExtCUDA_release_lpaths += $(CUDA_PATH)/lib64
+flexExtCUDA_release_defines := $(flexExtCUDA_custom_defines)
+flexExtCUDA_release_libraries :=
+flexExtCUDA_release_libraries += ./../../../lib/linux64/NvFlexReleaseCUDA_x64.a
+flexExtCUDA_release_common_cflags := $(flexExtCUDA_custom_cflags)
+flexExtCUDA_release_common_cflags += -MMD
+flexExtCUDA_release_common_cflags += $(addprefix -D, $(flexExtCUDA_release_defines))
+flexExtCUDA_release_common_cflags += $(addprefix -I, $(flexExtCUDA_release_hpaths))
+flexExtCUDA_release_common_cflags += -m64
+flexExtCUDA_release_common_cflags += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing
+flexExtCUDA_release_common_cflags += -O3 -ffast-math -DNDEBUG
+flexExtCUDA_release_cflags := $(flexExtCUDA_release_common_cflags)
+flexExtCUDA_release_cppflags := $(flexExtCUDA_release_common_cflags)
+flexExtCUDA_release_lflags := $(flexExtCUDA_custom_lflags)
+flexExtCUDA_release_lflags += $(addprefix -L, $(flexExtCUDA_release_lpaths))
+flexExtCUDA_release_lflags += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_release_libraries)) -Wl,--end-group
+flexExtCUDA_release_lflags += -m64
+flexExtCUDA_release_objsdir = $(OBJS_DIR)/flexExtCUDA_release
+flexExtCUDA_release_cpp_o = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_release_cc_o = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_release_c_o = $(addprefix $(flexExtCUDA_release_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_release_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o
+flexExtCUDA_release_obj = $(flexExtCUDA_release_cpp_o) $(flexExtCUDA_release_cc_o) $(flexExtCUDA_release_c_o) $(flexExtCUDA_release_cuda_cuda_flexExt_cu_o)
+flexExtCUDA_release_bin := ./../../../lib/linux64/NvFlexExtReleaseCUDA_x64.a
+
+clean_flexExtCUDA_release:
+ @$(ECHO) clean flexExtCUDA release
+ @$(RMDIR) $(flexExtCUDA_release_objsdir)
+ @$(RMDIR) $(flexExtCUDA_release_bin)
+ @$(RMDIR) $(DEPSDIR)/flexExtCUDA/release
+
+build_flexExtCUDA_release: postbuild_flexExtCUDA_release
+postbuild_flexExtCUDA_release: mainbuild_flexExtCUDA_release
+mainbuild_flexExtCUDA_release: prebuild_flexExtCUDA_release $(flexExtCUDA_release_bin)
+prebuild_flexExtCUDA_release:
+
+$(flexExtCUDA_release_bin): $(flexExtCUDA_release_obj)
+ mkdir -p `dirname ./../../../lib/linux64/NvFlexExtReleaseCUDA_x64.a`
+ @$(AR) rcs $(flexExtCUDA_release_bin) $(flexExtCUDA_release_obj)
+ $(ECHO) building $@ complete!
+
+$(flexExtCUDA_release_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o`
+ $(ECHO) $(CUDA_PATH)/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I$(CUDA_PATH)/include -I../../../external/cub-1.3.2 --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o"
+ $(CUDA_PATH)/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I$(CUDA_PATH)/include -I../../../external/cub-1.3.2 --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_release/cuda/cudaflexExt.o"
+
+flexExtCUDA_release_DEPDIR = $(dir $(@))/$(*F)
+$(flexExtCUDA_release_cpp_o): $(flexExtCUDA_release_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))
+ cp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ rm -f $(flexExtCUDA_release_DEPDIR).d
+
+$(flexExtCUDA_release_cc_o): $(flexExtCUDA_release_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_release_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))
+ cp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).release.P; \
+ rm -f $(flexExtCUDA_release_DEPDIR).d
+
+$(flexExtCUDA_release_c_o): $(flexExtCUDA_release_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling release $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexExtCUDA_release_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))))
+ cp $(flexExtCUDA_release_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_release_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/release/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_release_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ rm -f $(flexExtCUDA_release_DEPDIR).d
+
+flexExtCUDA_debug_hpaths :=
+flexExtCUDA_debug_hpaths += $(CUDA_PATH)/include
+flexExtCUDA_debug_hpaths += $(CUDA_PATH)/extras/cupti/include
+flexExtCUDA_debug_hpaths += ./../../..
+flexExtCUDA_debug_hpaths += ./../../../external/freeglut/include
+flexExtCUDA_debug_lpaths :=
+flexExtCUDA_debug_lpaths += $(CUDA_PATH)/lib64
+flexExtCUDA_debug_defines := $(flexExtCUDA_custom_defines)
+flexExtCUDA_debug_libraries :=
+flexExtCUDA_debug_libraries += ./../../../lib/linux64/NvFlexDebugCUDA_x64.a
+flexExtCUDA_debug_common_cflags := $(flexExtCUDA_custom_cflags)
+flexExtCUDA_debug_common_cflags += -MMD
+flexExtCUDA_debug_common_cflags += $(addprefix -D, $(flexExtCUDA_debug_defines))
+flexExtCUDA_debug_common_cflags += $(addprefix -I, $(flexExtCUDA_debug_hpaths))
+flexExtCUDA_debug_common_cflags += -m64
+flexExtCUDA_debug_common_cflags += -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing
+flexExtCUDA_debug_common_cflags += -g -O0
+flexExtCUDA_debug_cflags := $(flexExtCUDA_debug_common_cflags)
+flexExtCUDA_debug_cppflags := $(flexExtCUDA_debug_common_cflags)
+flexExtCUDA_debug_lflags := $(flexExtCUDA_custom_lflags)
+flexExtCUDA_debug_lflags += $(addprefix -L, $(flexExtCUDA_debug_lpaths))
+flexExtCUDA_debug_lflags += -Wl,--start-group $(addprefix -l, $(flexExtCUDA_debug_libraries)) -Wl,--end-group
+flexExtCUDA_debug_lflags += -m64
+flexExtCUDA_debug_objsdir = $(OBJS_DIR)/flexExtCUDA_debug
+flexExtCUDA_debug_cpp_o = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cpp, %.cpp.o, $(flexExtCUDA_cppfiles)))))
+flexExtCUDA_debug_cc_o = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.cc, %.cc.o, $(flexExtCUDA_ccfiles)))))
+flexExtCUDA_debug_c_o = $(addprefix $(flexExtCUDA_debug_objsdir)/, $(subst ./, , $(subst ../, , $(patsubst %.c, %.c.o, $(flexExtCUDA_cfiles)))))
+flexExtCUDA_debug_cuda_cuda_flexExt_cu_o += $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o
+flexExtCUDA_debug_obj = $(flexExtCUDA_debug_cpp_o) $(flexExtCUDA_debug_cc_o) $(flexExtCUDA_debug_c_o) $(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o)
+flexExtCUDA_debug_bin := ./../../../lib/linux64/NvFlexExtDebugCUDA_x64.a
+
+clean_flexExtCUDA_debug:
+ @$(ECHO) clean flexExtCUDA debug
+ @$(RMDIR) $(flexExtCUDA_debug_objsdir)
+ @$(RMDIR) $(flexExtCUDA_debug_bin)
+ @$(RMDIR) $(DEPSDIR)/flexExtCUDA/debug
+
+build_flexExtCUDA_debug: postbuild_flexExtCUDA_debug
+postbuild_flexExtCUDA_debug: mainbuild_flexExtCUDA_debug
+mainbuild_flexExtCUDA_debug: prebuild_flexExtCUDA_debug $(flexExtCUDA_debug_bin)
+prebuild_flexExtCUDA_debug:
+
+$(flexExtCUDA_debug_bin): $(flexExtCUDA_debug_obj)
+ mkdir -p `dirname ./../../../lib/linux64/NvFlexExtDebugCUDA_x64.a`
+ @$(AR) rcs $(flexExtCUDA_debug_bin) $(flexExtCUDA_debug_obj)
+ $(ECHO) building $@ complete!
+
+$(flexExtCUDA_debug_cuda_cuda_flexExt_cu_o): $(flexExtCUDA_cuda_cuda_flexExt_cu)
+ @mkdir -p `dirname $(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o`
+ $(ECHO) $(CUDA_PATH)/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I$(CUDA_PATH)/include -I../../../external/cub-1.3.2 --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o"
+ $(CUDA_PATH)/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES -I../../.. -I../../../external -I$(CUDA_PATH)/include -I../../../external/cub-1.3.2 --compile "./../../cuda/flexExt.cu" -o "$(OBJS_DIR)/flexExtCUDA_debug/cuda/cudaflexExt.o"
+
+flexExtCUDA_debug_DEPDIR = $(dir $(@))/$(*F)
+$(flexExtCUDA_debug_cpp_o): $(flexExtCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))))
+ cp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cpp.o,.cpp, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cppfiles))))).P; \
+ rm -f $(flexExtCUDA_debug_DEPDIR).d
+
+$(flexExtCUDA_debug_cc_o): $(flexExtCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))...
+ mkdir -p $(dir $(@))
+ $(CXX) $(flexExtCUDA_debug_cppflags) -c $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles)) -o $@
+ mkdir -p $(dir $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))))
+ cp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .cc.o,.cc, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_ccfiles))))).debug.P; \
+ rm -f $(flexExtCUDA_debug_DEPDIR).d
+
+$(flexExtCUDA_debug_c_o): $(flexExtCUDA_debug_objsdir)/%.o:
+ $(ECHO) flexExtCUDA: compiling debug $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))...
+ mkdir -p $(dir $(@))
+ $(CC) $(flexExtCUDA_debug_cflags) -c $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles)) -o $@
+ @mkdir -p $(dir $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))))
+ cp $(flexExtCUDA_debug_DEPDIR).d $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
+ -e '/^$$/ d' -e 's/$$/ :/' < $(flexExtCUDA_debug_DEPDIR).d >> $(addprefix $(DEPSDIR)/flexExtCUDA/debug/, $(subst ./, , $(subst ../, , $(filter %$(strip $(subst .c.o,.c, $(subst $(flexExtCUDA_debug_objsdir),, $@))), $(flexExtCUDA_cfiles))))).P; \
+ rm -f $(flexExtCUDA_debug_DEPDIR).d
+
+clean_flexExtCUDA: clean_flexExtCUDA_release clean_flexExtCUDA_debug
+ rm -rf $(DEPSDIR)
+
+export VERBOSE
+ifndef VERBOSE
+.SILENT:
+endif
diff --git a/extensions/compiler/vc12win32/flexExtCUDA.sln b/extensions/compiler/vc12win32/flexExtCUDA.sln
new file mode 100644
index 0000000..010e75d
--- /dev/null
+++ b/extensions/compiler/vc12win32/flexExtCUDA.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtCUDA", "./flexExtCUDA.vcxproj", "{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|Win32 = debug|Win32
+ release|Win32 = release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.ActiveCfg = debug|Win32
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.Build.0 = debug|Win32
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.ActiveCfg = release|Win32
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.Build.0 = release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc12win32/flexExtCUDA.vcxproj b/extensions/compiler/vc12win32/flexExtCUDA.vcxproj
new file mode 100644
index 0000000..43efc87
--- /dev/null
+++ b/extensions/compiler/vc12win32/flexExtCUDA.vcxproj
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|Win32">
+ <Configuration>debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|Win32">
+ <Configuration>release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}</ProjectGuid>
+ <RootNamespace>flexExtCUDA</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugCUDA_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win32/NvFlexDebugCUDA_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugCUDA_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugCUDA_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtDebugCUDA_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseCUDA_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <ClCompile>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win32/NvFlexReleaseCUDA_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseCUDA_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseCUDA_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtReleaseCUDA_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <FileType Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">"$(CUDA_PATH)\bin\nvcc.exe" -g -G --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MTd,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./Win32/flexExtCUDA/debug/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">./Win32/flexExtCUDA/debug/cuda/flexExt.obj;</Outputs>
+ <FileType Condition="'$(Configuration)|$(Platform)'=='release|Win32'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='release|Win32'">"$(CUDA_PATH)\bin\nvcc.exe" -O3 --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MT,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./Win32/flexExtCUDA/release/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='release|Win32'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='release|Win32'">./Win32/flexExtCUDA/release/cuda/flexExt.obj;</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc12win32/flexExtCUDA.vcxproj.filters b/extensions/compiler/vc12win32/flexExtCUDA.vcxproj.filters
new file mode 100644
index 0000000..5c88696
--- /dev/null
+++ b/extensions/compiler/vc12win32/flexExtCUDA.vcxproj.filters
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="cuda">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <Filter>cuda</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc12win32/flexExtD3D.sln b/extensions/compiler/vc12win32/flexExtD3D.sln
new file mode 100644
index 0000000..147f309
--- /dev/null
+++ b/extensions/compiler/vc12win32/flexExtD3D.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtD3D", "./flexExtD3D.vcxproj", "{9B42889D-2F0D-0378-E87E-82C8D918DB4D}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|Win32 = debug|Win32
+ release|Win32 = release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.ActiveCfg = debug|Win32
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.Build.0 = debug|Win32
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.ActiveCfg = release|Win32
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.Build.0 = release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc12win32/flexExtD3D.vcxproj b/extensions/compiler/vc12win32/flexExtD3D.vcxproj
new file mode 100644
index 0000000..db0828b
--- /dev/null
+++ b/extensions/compiler/vc12win32/flexExtD3D.vcxproj
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|Win32">
+ <Configuration>debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|Win32">
+ <Configuration>release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>
+ <RootNamespace>flexExtD3D</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/DX/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugD3D_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexDebugD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugD3D_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtDebugD3D_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/DX/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseD3D_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <ClCompile>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexReleaseD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseD3D_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtReleaseD3D_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|Win32'"> </ObjectFileOutput>
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='release|Win32'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='release|Win32'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='release|Win32'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='release|Win32'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='release|Win32'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='release|Win32'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='release|Win32'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='release|Win32'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='release|Win32'"> </ObjectFileOutput>
+ </FxCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc12win32/flexExtD3D.vcxproj.filters b/extensions/compiler/vc12win32/flexExtD3D.vcxproj.filters
new file mode 100644
index 0000000..dd65ee0
--- /dev/null
+++ b/extensions/compiler/vc12win32/flexExtD3D.vcxproj.filters
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ <Filter>src</Filter>
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ <Filter>src</Filter>
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup><Filter Include="Shader Files"></Filter></ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <Filter>Shader Files</Filter>
+ </FxCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc12win32/vc120.pdb b/extensions/compiler/vc12win32/vc120.pdb
new file mode 100644
index 0000000..893ff50
--- /dev/null
+++ b/extensions/compiler/vc12win32/vc120.pdb
Binary files differ
diff --git a/extensions/compiler/vc12win64/flexExtCUDA.sln b/extensions/compiler/vc12win64/flexExtCUDA.sln
new file mode 100644
index 0000000..45b39d9
--- /dev/null
+++ b/extensions/compiler/vc12win64/flexExtCUDA.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtCUDA", "./flexExtCUDA.vcxproj", "{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|x64 = debug|x64
+ release|x64 = release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.ActiveCfg = debug|x64
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.Build.0 = debug|x64
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.ActiveCfg = release|x64
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.Build.0 = release|x64
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc12win64/flexExtCUDA.vcxproj b/extensions/compiler/vc12win64/flexExtCUDA.vcxproj
new file mode 100644
index 0000000..630fc57
--- /dev/null
+++ b/extensions/compiler/vc12win64/flexExtCUDA.vcxproj
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|x64">
+ <Configuration>debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|x64">
+ <Configuration>release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}</ProjectGuid>
+ <RootNamespace>flexExtCUDA</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugCUDA_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexDebugCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugCUDA_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugCUDA_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtDebugCUDA_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseCUDA_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <ClCompile>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexReleaseCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseCUDA_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseCUDA_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtReleaseCUDA_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <FileType Condition="'$(Configuration)|$(Platform)'=='debug|x64'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='debug|x64'">"$(CUDA_PATH)\bin\nvcc.exe" -g -G --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MTd,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./x64/flexExtCUDA/debug/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='debug|x64'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='debug|x64'">./x64/flexExtCUDA/debug/cuda/flexExt.obj;</Outputs>
+ <FileType Condition="'$(Configuration)|$(Platform)'=='release|x64'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='release|x64'">"$(CUDA_PATH)\bin\nvcc.exe" -O3 --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MT,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./x64/flexExtCUDA/release/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='release|x64'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='release|x64'">./x64/flexExtCUDA/release/cuda/flexExt.obj;</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc12win64/flexExtCUDA.vcxproj.filters b/extensions/compiler/vc12win64/flexExtCUDA.vcxproj.filters
new file mode 100644
index 0000000..5c88696
--- /dev/null
+++ b/extensions/compiler/vc12win64/flexExtCUDA.vcxproj.filters
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="cuda">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <Filter>cuda</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc12win64/flexExtD3D.sln b/extensions/compiler/vc12win64/flexExtD3D.sln
new file mode 100644
index 0000000..de6ba35
--- /dev/null
+++ b/extensions/compiler/vc12win64/flexExtD3D.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2013
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtD3D", "./flexExtD3D.vcxproj", "{9B42889D-2F0D-0378-E87E-82C8D918DB4D}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|x64 = debug|x64
+ release|x64 = release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.ActiveCfg = debug|x64
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.Build.0 = debug|x64
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.ActiveCfg = release|x64
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.Build.0 = release|x64
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc12win64/flexExtD3D.vcxproj b/extensions/compiler/vc12win64/flexExtD3D.vcxproj
new file mode 100644
index 0000000..8379d5a
--- /dev/null
+++ b/extensions/compiler/vc12win64/flexExtD3D.vcxproj
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|x64">
+ <Configuration>debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|x64">
+ <Configuration>release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>
+ <RootNamespace>flexExtD3D</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v120</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/DX/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugD3D_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexDebugD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugD3D_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtDebugD3D_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/DX/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseD3D_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <ClCompile>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexReleaseD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseD3D_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtReleaseD3D_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='debug|x64'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='debug|x64'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='debug|x64'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='debug|x64'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='debug|x64'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='debug|x64'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='debug|x64'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|x64'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|x64'"> </ObjectFileOutput>
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='release|x64'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='release|x64'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='release|x64'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='release|x64'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='release|x64'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='release|x64'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='release|x64'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='release|x64'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='release|x64'"> </ObjectFileOutput>
+ </FxCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc12win64/flexExtD3D.vcxproj.filters b/extensions/compiler/vc12win64/flexExtD3D.vcxproj.filters
new file mode 100644
index 0000000..dd65ee0
--- /dev/null
+++ b/extensions/compiler/vc12win64/flexExtD3D.vcxproj.filters
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ <Filter>src</Filter>
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ <Filter>src</Filter>
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup><Filter Include="Shader Files"></Filter></ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <Filter>Shader Files</Filter>
+ </FxCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc12win64/vc120.pdb b/extensions/compiler/vc12win64/vc120.pdb
new file mode 100644
index 0000000..4b0714b
--- /dev/null
+++ b/extensions/compiler/vc12win64/vc120.pdb
Binary files differ
diff --git a/extensions/compiler/vc14win32/flexExtCUDA.sln b/extensions/compiler/vc14win32/flexExtCUDA.sln
new file mode 100644
index 0000000..b9eb62d
--- /dev/null
+++ b/extensions/compiler/vc14win32/flexExtCUDA.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtCUDA", "./flexExtCUDA.vcxproj", "{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|Win32 = debug|Win32
+ release|Win32 = release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.ActiveCfg = debug|Win32
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|Win32.Build.0 = debug|Win32
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.ActiveCfg = release|Win32
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|Win32.Build.0 = release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc14win32/flexExtCUDA.vcxproj b/extensions/compiler/vc14win32/flexExtCUDA.vcxproj
new file mode 100644
index 0000000..871676c
--- /dev/null
+++ b/extensions/compiler/vc14win32/flexExtCUDA.vcxproj
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|Win32">
+ <Configuration>debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|Win32">
+ <Configuration>release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}</ProjectGuid>
+ <RootNamespace>flexExtCUDA</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugCUDA_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win32/NvFlexDebugCUDA_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugCUDA_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugCUDA_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtDebugCUDA_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseCUDA_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <ClCompile>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win32/NvFlexReleaseCUDA_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseCUDA_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseCUDA_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtReleaseCUDA_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <FileType Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">"$(CUDA_PATH)\bin\nvcc.exe" -g -G --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MTd,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./Win32/flexExtCUDA/debug/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">./Win32/flexExtCUDA/debug/cuda/flexExt.obj;</Outputs>
+ <FileType Condition="'$(Configuration)|$(Platform)'=='release|Win32'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='release|Win32'">"$(CUDA_PATH)\bin\nvcc.exe" -O3 --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MT,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./Win32/flexExtCUDA/release/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='release|Win32'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='release|Win32'">./Win32/flexExtCUDA/release/cuda/flexExt.obj;</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc14win32/flexExtCUDA.vcxproj.filters b/extensions/compiler/vc14win32/flexExtCUDA.vcxproj.filters
new file mode 100644
index 0000000..5c88696
--- /dev/null
+++ b/extensions/compiler/vc14win32/flexExtCUDA.vcxproj.filters
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="cuda">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <Filter>cuda</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc14win32/flexExtD3D.sln b/extensions/compiler/vc14win32/flexExtD3D.sln
new file mode 100644
index 0000000..a0855f3
--- /dev/null
+++ b/extensions/compiler/vc14win32/flexExtD3D.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtD3D", "./flexExtD3D.vcxproj", "{9B42889D-2F0D-0378-E87E-82C8D918DB4D}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|Win32 = debug|Win32
+ release|Win32 = release|Win32
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.ActiveCfg = debug|Win32
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|Win32.Build.0 = debug|Win32
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.ActiveCfg = release|Win32
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|Win32.Build.0 = release|Win32
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc14win32/flexExtD3D.vcxproj b/extensions/compiler/vc14win32/flexExtD3D.vcxproj
new file mode 100644
index 0000000..ae0a1b2
--- /dev/null
+++ b/extensions/compiler/vc14win32/flexExtD3D.vcxproj
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|Win32">
+ <Configuration>debug</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|Win32">
+ <Configuration>release</Configuration>
+ <Platform>Win32</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>
+ <RootNamespace>flexExtD3D</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/DX/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugD3D_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexDebugD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugD3D_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtDebugD3D_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <OutDir>./../../../bin/win32\</OutDir>
+ <IntDir>./build/win32/DX/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseD3D_x86</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|Win32'">
+ <ClCompile>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win32/NvFlexReleaseD3D_x86.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseD3D_x86.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x86;./../../../external/D3D12/libs/x86;./../../../lib/win32;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x86.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win32/NvFlexExtReleaseD3D_x86.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX86</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|Win32'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|Win32'"> </ObjectFileOutput>
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='release|Win32'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='release|Win32'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='release|Win32'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='release|Win32'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='release|Win32'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='release|Win32'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='release|Win32'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='release|Win32'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='release|Win32'"> </ObjectFileOutput>
+ </FxCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc14win32/flexExtD3D.vcxproj.filters b/extensions/compiler/vc14win32/flexExtD3D.vcxproj.filters
new file mode 100644
index 0000000..dd65ee0
--- /dev/null
+++ b/extensions/compiler/vc14win32/flexExtD3D.vcxproj.filters
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ <Filter>src</Filter>
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ <Filter>src</Filter>
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup><Filter Include="Shader Files"></Filter></ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <Filter>Shader Files</Filter>
+ </FxCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc14win64/flexExtCUDA.sln b/extensions/compiler/vc14win64/flexExtCUDA.sln
new file mode 100644
index 0000000..6e0cf6d
--- /dev/null
+++ b/extensions/compiler/vc14win64/flexExtCUDA.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtCUDA", "./flexExtCUDA.vcxproj", "{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|x64 = debug|x64
+ release|x64 = release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.ActiveCfg = debug|x64
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.debug|x64.Build.0 = debug|x64
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.ActiveCfg = release|x64
+ {FD4C9C06-7BEC-CDF8-C631-CD32A428A280}.release|x64.Build.0 = release|x64
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc14win64/flexExtCUDA.vcxproj b/extensions/compiler/vc14win64/flexExtCUDA.vcxproj
new file mode 100644
index 0000000..5fe44c7
--- /dev/null
+++ b/extensions/compiler/vc14win64/flexExtCUDA.vcxproj
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|x64">
+ <Configuration>debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|x64">
+ <Configuration>release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{FD4C9C06-7BEC-CDF8-C631-CD32A428A280}</ProjectGuid>
+ <RootNamespace>flexExtCUDA</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugCUDA_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexDebugCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugCUDA_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugCUDA_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtDebugCUDA_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseCUDA_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <ClCompile>
+ <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>$(CUDA_PATH)/include;$(CUDA_PATH)/extras/cupti/include;./../../../../..;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalDependencies>cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;./../../../lib/win64/NvFlexReleaseCUDA_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseCUDA_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>$(CUDA_PATH)/lib/x64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseCUDA_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtReleaseCUDA_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <FileType Condition="'$(Configuration)|$(Platform)'=='debug|x64'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='debug|x64'">"$(CUDA_PATH)\bin\nvcc.exe" -g -G --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MTd,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./x64/flexExtCUDA/debug/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='debug|x64'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='debug|x64'">./x64/flexExtCUDA/debug/cuda/flexExt.obj;</Outputs>
+ <FileType Condition="'$(Configuration)|$(Platform)'=='release|x64'">cuda</FileType>
+ <Command Condition="'$(Configuration)|$(Platform)'=='release|x64'">"$(CUDA_PATH)\bin\nvcc.exe" -O3 --compiler-bindir="$(VCInstallDir)bin" --compiler-options=/MT,/Zi -I"..\..\.." -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c ..\..\cuda\flexExt.cu -o ./x64/flexExtCUDA/release/cuda/flexExt.obj</Command>
+ <Message Condition="'$(Configuration)|$(Platform)'=='release|x64'">Building %(Identity)</Message>
+ <Outputs Condition="'$(Configuration)|$(Platform)'=='release|x64'">./x64/flexExtCUDA/release/cuda/flexExt.obj;</Outputs>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc14win64/flexExtCUDA.vcxproj.filters b/extensions/compiler/vc14win64/flexExtCUDA.vcxproj.filters
new file mode 100644
index 0000000..5c88696
--- /dev/null
+++ b/extensions/compiler/vc14win64/flexExtCUDA.vcxproj.filters
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="cuda">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <CustomBuild Include="..\..\cuda\flexExt.cu">
+ <Filter>cuda</Filter>
+ </CustomBuild>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>core</Filter>
+ </ClCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc14win64/flexExtD3D.sln b/extensions/compiler/vc14win64/flexExtD3D.sln
new file mode 100644
index 0000000..3275e20
--- /dev/null
+++ b/extensions/compiler/vc14win64/flexExtD3D.sln
@@ -0,0 +1,24 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "flexExtD3D", "./flexExtD3D.vcxproj", "{9B42889D-2F0D-0378-E87E-82C8D918DB4D}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ debug|x64 = debug|x64
+ release|x64 = release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.ActiveCfg = debug|x64
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.debug|x64.Build.0 = debug|x64
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.ActiveCfg = release|x64
+ {9B42889D-2F0D-0378-E87E-82C8D918DB4D}.release|x64.Build.0 = release|x64
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ EndGlobalSection
+ GlobalSection(ExtensibilityAddins) = postSolution
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ EndGlobalSection
+EndGlobal
diff --git a/extensions/compiler/vc14win64/flexExtD3D.vcxproj b/extensions/compiler/vc14win64/flexExtD3D.vcxproj
new file mode 100644
index 0000000..d43e287
--- /dev/null
+++ b/extensions/compiler/vc14win64/flexExtD3D.vcxproj
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup Label="ProjectConfigurations">
+ <ProjectConfiguration Include="debug|x64">
+ <Configuration>debug</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ <ProjectConfiguration Include="release|x64">
+ <Configuration>release</Configuration>
+ <Platform>x64</Platform>
+ </ProjectConfiguration>
+ </ItemGroup>
+ <PropertyGroup Label="Globals">
+ <ProjectGuid>{9B42889D-2F0D-0378-E87E-82C8D918DB4D}</ProjectGuid>
+ <RootNamespace>flexExtD3D</RootNamespace>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ </PropertyGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'" Label="Configuration">
+ <ConfigurationType>DynamicLibrary</ConfigurationType>
+ <PlatformToolset>v140</PlatformToolset>
+ <WholeProgramOptimization>true</WholeProgramOptimization>
+ </PropertyGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+ <ImportGroup Label="ExtensionSettings">
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+ </ImportGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/DX/debug\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtDebugD3D_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='debug|x64'">
+ <ClCompile>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Disabled</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;_DEBUG;_ITERATOR_DEBUG_LEVEL=0;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexDebugD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtDebugD3D_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtDebugD3D_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtDebugD3D_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <OutDir>./../../../bin/win64\</OutDir>
+ <IntDir>./build/win64/DX/release\</IntDir>
+ <TargetExt>.dll</TargetExt>
+ <TargetName>NvFlexExtReleaseD3D_x64</TargetName>
+ <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
+ <CodeAnalysisRules />
+ <CodeAnalysisRuleAssemblies />
+ <SkipCopyingSymbolsToOutputDirectory>true</SkipCopyingSymbolsToOutputDirectory>
+ </PropertyGroup>
+ <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='release|x64'">
+ <ClCompile>
+ <IntrinsicFunctions>true</IntrinsicFunctions>
+ <FunctionLevelLinking>true</FunctionLevelLinking>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <FloatingPointModel>Fast</FloatingPointModel>
+ <AdditionalOptions> /d2Zi+</AdditionalOptions>
+ <Optimization>Full</Optimization>
+ <AdditionalIncludeDirectories>./../../../../..;./../../..;./../../../external/D3D11/include;./../../../external/D3D12/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+ <PreprocessorDefinitions>_CONSOLE;WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <WarningLevel>Level3</WarningLevel>
+ <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+ <PrecompiledHeader>NotUsing</PrecompiledHeader>
+ <PrecompiledHeaderFile></PrecompiledHeaderFile>
+ </ClCompile>
+ <Link>
+ <AdditionalOptions>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</AdditionalOptions>
+ <AdditionalDependencies>kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;delayimp.lib;./../../../lib/win64/NvFlexReleaseD3D_x64.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <OutputFile>$(OutDir)NvFlexExtReleaseD3D_x64.dll</OutputFile>
+ <AdditionalLibraryDirectories>./../../../external/D3D11/libs/x64;./../../../external/D3D12/libs/x64;./../../../lib/win64;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ <ProgramDatabaseFile>$(OutDir)/NvFlexExtReleaseD3D_x64.dll.pdb</ProgramDatabaseFile>
+ <SubSystem>Console</SubSystem>
+ <ImportLibrary>./../../../lib/win64/NvFlexExtReleaseD3D_x64.lib</ImportLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <TargetMachine>MachineX64</TargetMachine>
+ </Link>
+ <ResourceCompile>
+ </ResourceCompile>
+ <ProjectReference>
+ </ProjectReference>
+ </ItemDefinitionGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='debug|x64'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='debug|x64'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='debug|x64'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='debug|x64'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='debug|x64'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='debug|x64'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='debug|x64'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|x64'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='debug|x64'"> </ObjectFileOutput>
+ <ShaderType Condition="'$(Configuration)|$(Platform)'=='release|x64'">Compute</ShaderType>
+ <ShaderModel Condition="'$(Configuration)|$(Platform)'=='release|x64'">5.0</ShaderModel>
+ <EnableDebuggingInformation Condition="'$(Configuration)|$(Platform)'=='release|x64'">false</EnableDebuggingInformation>
+ <DisableOptimizations Condition="'$(Configuration)|$(Platform)'=='release|x64'">false</DisableOptimizations>
+ <EntryPointName Condition="'$(Configuration)|$(Platform)'=='release|x64'">UpdateForceFields::execute</EntryPointName>
+ <TreatWarningAsError Condition="'$(Configuration)|$(Platform)'=='release|x64'">false</TreatWarningAsError>
+ <VariableName Condition="'$(Configuration)|$(Platform)'=='release|x64'">g_flexExt_UpdateForceFields</VariableName>
+ <HeaderFileOutput Condition="'$(Configuration)|$(Platform)'=='release|x64'">../../../extensions/dx/shaders/%(Filename).h</HeaderFileOutput>
+ <ObjectFileOutput Condition="'$(Configuration)|$(Platform)'=='release|x64'"> </ObjectFileOutput>
+ </FxCompile>
+ </ItemGroup>
+ <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+ <ImportGroup Label="ExtensionTargets"></ImportGroup>
+</Project>
diff --git a/extensions/compiler/vc14win64/flexExtD3D.vcxproj.filters b/extensions/compiler/vc14win64/flexExtD3D.vcxproj.filters
new file mode 100644
index 0000000..dd65ee0
--- /dev/null
+++ b/extensions/compiler/vc14win64/flexExtD3D.vcxproj.filters
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <ItemGroup>
+ <Filter Include="Core">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\..\core\sdf.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\voxelize.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\maths.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\..\core\aabbtree.cpp">
+ <Filter>Core</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup>
+ <Filter Include="src">
+ </Filter>
+ </ItemGroup>
+ <ItemGroup>
+ <ClCompile Include="..\..\dx\flexExt.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <None Include="..\..\dx\flexExt.hlsl">
+ <Filter>src</Filter>
+ </None>
+ <ClInclude Include="..\..\dx\flexExt_dx_common.h">
+ <Filter>src</Filter>
+ </ClInclude>
+ <ClCompile Include="..\..\flexExtCloth.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtRigid.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtSoft.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtMovingFrame.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\flexExtContainer.cpp">
+ <Filter>src</Filter>
+ </ClCompile>
+ </ItemGroup>
+ <ItemGroup><Filter Include="Shader Files"></Filter></ItemGroup>
+ <ItemGroup>
+ <FxCompile Include="./../../dx/shaders/flexExt.UpdateForceFields.hlsl">
+ <Filter>Shader Files</Filter>
+ </FxCompile>
+ </ItemGroup>
+</Project> \ No newline at end of file
diff --git a/extensions/compiler/vc14win64/vc140.pdb b/extensions/compiler/vc14win64/vc140.pdb
new file mode 100644
index 0000000..fe2e606
--- /dev/null
+++ b/extensions/compiler/vc14win64/vc140.pdb
Binary files differ
diff --git a/extensions/compiler/xpj/flexExtCUDA.xpj b/extensions/compiler/xpj/flexExtCUDA.xpj
new file mode 100644
index 0000000..434b2fe
--- /dev/null
+++ b/extensions/compiler/xpj/flexExtCUDA.xpj
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<XPJ version="4">
+
+ <template filename="../../../common.xpjt"/>
+
+ <Project name="flexExtCUDA">
+
+ <!-- depends on flex solver project -->
+ <Conditional value="${config}" match="internal">
+ <Import file="../../../src/compiler/xpj/flexCUDA.xpj" />
+ </Conditional>
+
+ <Export platforms="Win32 Win64">../${xpj:TOOL}${xpj:PLATFORM}</Export>
+ <Export platform="android{x}" tool="make">../makeandroid</Export>
+ <Export platform="Linux64" tool="make">../makelinux64</Export>
+
+ <Target name="flexExtCUDA">
+
+ <Var name="ProjectRoot" value="../../.." />
+
+ <!-- Windows -->
+
+ <Config name="default" type="dll" platforms="Win32 Win64">
+
+ <apply-template name="windows-common"/>
+
+ <OutDir platform="Win32">../../../bin/win32/</OutDir>
+ <OutDir platform="Win64">../../../bin/win64/</OutDir>
+
+ <Preprocessor type="define">
+ _CONSOLE
+ WIN32
+ </Preprocessor>
+
+ <WarningLevel>3</WarningLevel>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <CharacterSet>MultiByte</CharacterSet>
+
+ <SearchPaths type="header">
+ ..\..\..\..\..
+ </SearchPaths>
+
+ <Libraries>
+ cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
+ </Libraries>
+
+ </Config>
+
+ <Config name="debug" type="dll" platforms="Win32 Win64">
+
+ <apply-template name="windows-common"/>
+
+ <OutFile platform="Win32">NvFlexExtDebugCUDA_x86.dll</OutFile>
+ <OutFile platform="Win64">NvFlexExtDebugCUDA_x64.dll</OutFile>
+
+ <IntDir>./build/${xpj:PLATFORM}/debug/</IntDir>
+
+ <Preprocessor type="define">
+ _DEBUG
+ </Preprocessor>
+ <Preprocessor type="define">
+ _ITERATOR_DEBUG_LEVEL=0
+ </Preprocessor>
+ <RuntimeLibrary>MTd</RuntimeLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <ExportLibrary platform="Win32">..\..\..\lib\win32\NvFlexExtDebugCUDA_x86.lib</ExportLibrary>
+ <ExportLibrary platform="Win64">..\..\..\lib\win64\NvFlexExtDebugCUDA_x64.lib</ExportLibrary>
+
+ <FileTemplate platform="Win32" name="cuda" command="&quot;${user:CUDA_PATH}\bin\nvcc.exe&quot; -g -G --compiler-bindir=&quot;$(VCInstallDir)bin&quot; --compiler-options=/MTd,/Zi -I&quot;..\..\..&quot; -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c %s -o %o" buildtype="CustomBuild" filetype="cuda" description="Building %(Identity)" />
+ <FileTemplate platform="Win64" name="cuda" command="&quot;${user:CUDA_PATH}\bin\nvcc.exe&quot; -g -G --compiler-bindir=&quot;$(VCInstallDir)bin&quot; --compiler-options=/MTd,/Zi -I&quot;..\..\..&quot; -D_ITERATOR_DEBUG_LEVEL=0 -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c %s -o %o" buildtype="CustomBuild" filetype="cuda" description="Building %(Identity)" />
+
+ <Libraries platforms="Win32">
+ ${user:ProjectRoot}/lib/win32/NvFlexDebugCUDA_x86.lib
+ </Libraries>
+
+ <Libraries platforms="Win64">
+ ${user:ProjectRoot}/lib/win64/NvFlexDebugCUDA_x64.lib
+ </Libraries>
+
+ </Config>
+
+ <Config name="release" type="dll" platforms="Win32 Win64">
+
+ <apply-template name="windows-common"/>
+
+ <OutFile platform="Win32">NvFlexExtReleaseCUDA_x86.dll</OutFile>
+ <OutFile platform="Win64">NvFlexExtReleaseCUDA_x64.dll</OutFile>
+
+ <IntDir>./build/${xpj:PLATFORM}/release/</IntDir>
+
+ <Preprocessor type="define">
+ NDEBUG
+ </Preprocessor>
+ <RuntimeLibrary>MT</RuntimeLibrary>
+ <WholeProgramOptimization>1</WholeProgramOptimization>
+ <Optimization>3</Optimization>
+ <EnableIntrinsicFunctions>true</EnableIntrinsicFunctions>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <EnableFunctionLevelLinking>true</EnableFunctionLevelLinking>
+ <EnableEnhancedInstructionSet>2</EnableEnhancedInstructionSet>
+ <FloatingPointModel>Fast</FloatingPointModel>
+
+ <ExportLibrary platform="Win32">..\..\..\lib\win32\NvFlexExtReleaseCUDA_x86.lib</ExportLibrary>
+ <ExportLibrary platform="Win64">..\..\..\lib\win64\NvFlexExtReleaseCUDA_x64.lib</ExportLibrary>
+
+ <FileTemplate platform="Win32" name="cuda" command="&quot;${user:CUDA_PATH}\bin\nvcc.exe&quot; -O3 --compiler-bindir=&quot;$(VCInstallDir)bin&quot; --compiler-options=/MT,/Zi -I&quot;..\..\..&quot; -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -m32 -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c %s -o %o" buildtype="CustomBuild" filetype="cuda" description="Building %(Identity)" />
+ <FileTemplate platform="Win64" name="cuda" command="&quot;${user:CUDA_PATH}\bin\nvcc.exe&quot; -O3 --compiler-bindir=&quot;$(VCInstallDir)bin&quot; --compiler-options=/MT,/Zi -I&quot;..\..\..&quot; -D_ITERATOR_DEBUG_LEVEL=0 -DNDEBUG -DCUDA -arch=sm_30 -prec-div=false -prec-sqrt=false -ftz=true -use_fast_math -c %s -o %o" buildtype="CustomBuild" filetype="cuda" description="Building %(Identity)" />
+
+ <Libraries platforms="Win32">
+ ${user:ProjectRoot}/lib/win32/NvFlexReleaseCUDA_x86.lib
+ </Libraries>
+
+ <Libraries platforms="Win64">
+ ${user:ProjectRoot}/lib/win64/NvFlexReleaseCUDA_x64.lib
+ </Libraries>
+
+ </Config>
+
+ <!-- Android -->
+
+ <Config name="default" type="lib" platforms="android{x}">
+
+ <apply-template name="android-common"/>
+
+ <FileTemplate name="cuda" command='${user:NVCC} ${user:NVCCInclude} --compile "%s" -o "%o"' buildtype="CustomBuild" />
+
+ <OutDir platforms="android{x}" tool="make">${user:ProjectRoot}/lib/android</OutDir>
+
+ <Preprocessor type="define" platform="android{x}">
+ android
+ ANDROID=1
+ ANDROID_PLAT=1
+ DISABLE_IMPORTGL
+ </Preprocessor>
+
+ <CFlags tool="make">
+ -Wall -std=c++11 -fpermissive -fno-strict-aliasing -fno-rtti -fno-exceptions
+ </CFlags>
+
+ </Config>
+
+ <Config name="release" type="lib" platforms="android{x}">
+ <cflags> -O3 -ffast-math </cflags>
+ <OutFile>libflexExt_cuda_release_armv7l.a</OutFile>
+
+ <Libraries>
+ ${user:ProjectRoot}/lib/android/libNvFlexRelease_armv7l.a
+ </Libraries>
+
+ </Config>
+
+ <Config name="debug" type="lib" platforms="android{x}">
+ <cflags> -g -O0 </cflags>
+ <OutFile>libflexExt_cuda_debug_armv7l.a</OutFile>
+
+ <Libraries>
+ ${user:ProjectRoot}/lib/android/libNvFlexDebug_armv7l.a
+ </Libraries>
+
+ </Config>
+
+
+ <!-- Linux -->
+
+ <Config name="default" type="lib" platforms="linux64">
+
+ <apply-template name="linux-common"/>
+
+ <Var name="Cub" value="${user:External}/cub-1.3.2"/>
+ <var name="GCC" value="g++"/>
+ <var name="NVCC" value='${user:CUDA_PATH}/bin/nvcc -O3 -g -arch=sm_30 -m64 -Xcompiler -fPIC -D_FORCE_INLINES'/>
+ <var name="NVCCInclude" value=' -I${user:ProjectRoot} -I${user:External} -I${user:CUDA_PATH}/include -I${user:Cub} '/>
+
+ <FileTemplate name="cuda" command='${user:NVCC} ${user:NVCCInclude} --compile "%s" -o "%o"' buildtype="CustomBuild"/>
+
+ <OutDir platforms="linux64" tool="make">${user:ProjectRoot}/lib/linux64</OutDir>
+
+ <SearchPaths type="header" tool="make">
+ "${user:ProjectRoot}"
+ "${user:External}/freeglut/include"
+ </SearchPaths>
+
+ <CFlags tool="make">
+ -Wall -std=c++0x -fPIC -fpermissive -fno-strict-aliasing
+ </CFlags>
+ </Config>
+
+ <Config name="release" type="lib" platforms="linux64">
+ <cflags> -O3 -ffast-math -DNDEBUG</cflags>
+ <OutFile>NvFlexExtReleaseCUDA_x64.a</OutFile>
+
+ <Libraries>
+ ${user:ProjectRoot}/lib/linux64/NvFlexReleaseCUDA_x64.a
+ </Libraries>
+
+ </Config>
+
+ <Config name="debug" type="lib" platforms="linux64">
+ <cflags> -g -O0 </cflags>
+ <OutFile>NvFlexExtDebugCUDA_x64.a</OutFile>
+
+ <Libraries>
+ ${user:ProjectRoot}/lib/linux64/NvFlexDebugCUDA_x64.a
+ </Libraries>
+ </Config>
+
+ <!-- Source -->
+
+ <Files name="src" type="source" root="${user:ProjectRoot}/extensions">
+ *.cpp *.h
+ </Files>
+
+ <Files name="cuda" type="source" root="${user:ProjectRoot}/extensions/cuda" template="cuda">
+ *.cu
+ </Files>
+
+ <Files name="include" type="source" root="${user:ProjectRoot}/include">
+ flexExt.h
+ </Files>
+
+ <Files name="core" type="source" root="${user:ProjectRoot}/core">
+ sdf.cpp
+ voxelize.cpp
+ maths.cpp
+ aabbtree.cpp
+ </Files>
+
+ <Conditional value="${config}" match="internal">
+ <Dependencies>
+ flexCUDA
+ </Dependencies>
+ </Conditional>
+
+ </Target>
+ </Project>
+
+</XPJ> \ No newline at end of file
diff --git a/extensions/compiler/xpj/flexExtD3D.xpj b/extensions/compiler/xpj/flexExtD3D.xpj
new file mode 100644
index 0000000..ff30566
--- /dev/null
+++ b/extensions/compiler/xpj/flexExtD3D.xpj
@@ -0,0 +1,177 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<XPJ version="4">
+
+ <Project name="flexExtD3D">
+
+ <!-- depends on flex solver project -->
+ <Conditional value="${config}" match="internal">
+ <Import file="../../../src/compiler/xpj/flexD3D.xpj" />
+ </Conditional>
+
+ <Export platforms="Win32 Win64">../${xpj:TOOL}${xpj:PLATFORM}</Export>
+
+ <Target name="flexExtD3D">
+
+ <Var name="ProjectRoot" value="../../.." />
+
+ <!-- Windows -->
+
+ <Config name="default" type="dll" platforms="Win32 Win64">
+
+ <OutDir platform="Win32">../../../bin/win32/</OutDir>
+ <OutDir platform="Win64">../../../bin/win64/</OutDir>
+
+ <Preprocessor type="define">
+ _CONSOLE
+ WIN32
+ </Preprocessor>
+
+ <WarningLevel>3</WarningLevel>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <CharacterSet>MultiByte</CharacterSet>
+
+ <SearchPaths type="header">
+ ..\..\..\..\..
+ </SearchPaths>
+
+ <Libraries>
+ kernel32.lib
+ user32.lib
+ gdi32.lib
+ winspool.lib
+ comdlg32.lib
+ advapi32.lib
+ shell32.lib
+ ole32.lib
+ oleaut32.lib
+ uuid.lib
+ odbc32.lib
+ odbccp32.lib
+ delayimp.lib
+ </Libraries>
+
+ <LFlags>/DELAYLOAD:d3d11.dll /DELAYLOAD:d3d12.dll</LFlags>
+
+
+ </Config>
+
+ <Config name="debug" type="dll" platforms="Win32 Win64">
+
+ <OutFile platform="Win32">NvFlexExtDebugD3D_x86.dll</OutFile>
+ <OutFile platform="Win64">NvFlexExtDebugD3D_x64.dll</OutFile>
+
+ <IntDir>./build/${xpj:PLATFORM}/DX/debug/</IntDir>
+
+ <Preprocessor type="define">
+ _DEBUG
+ </Preprocessor>
+ <Preprocessor type="define">
+ _ITERATOR_DEBUG_LEVEL=0
+ </Preprocessor>
+ <RuntimeLibrary>MTd</RuntimeLibrary>
+ <GenerateDebugInformation>true</GenerateDebugInformation>
+ <FloatingPointModel>Precise</FloatingPointModel>
+ <ExportLibrary platform="Win32">..\..\..\lib\win32\NvFlexExtDebugD3D_x86.lib</ExportLibrary>
+ <ExportLibrary platform="Win64">..\..\..\lib\win64\NvFlexExtDebugD3D_x64.lib</ExportLibrary>
+
+ <Libraries platforms="Win32">
+ ${user:ProjectRoot}/lib/win32/NvFlexDebugD3D_x86.lib
+ </Libraries>
+
+ <Libraries platforms="Win64">
+ ${user:ProjectRoot}/lib/win64/NvFlexDebugD3D_x64.lib
+ </Libraries>
+
+ </Config>
+
+ <Config name="release" type="dll" platforms="Win32 Win64">
+
+ <OutFile platform="Win32">NvFlexExtReleaseD3D_x86.dll</OutFile>
+ <OutFile platform="Win64">NvFlexExtReleaseD3D_x64.dll</OutFile>
+
+ <IntDir>./build/${xpj:PLATFORM}/DX/release/</IntDir>
+
+ <Preprocessor type="define">
+ NDEBUG
+ </Preprocessor>
+ <RuntimeLibrary>MT</RuntimeLibrary>
+ <WholeProgramOptimization>1</WholeProgramOptimization>
+ <Optimization>3</Optimization>
+ <EnableIntrinsicFunctions>true</EnableIntrinsicFunctions>
+ <BufferSecurityCheck>false</BufferSecurityCheck>
+ <EnableFunctionLevelLinking>true</EnableFunctionLevelLinking>
+ <FloatingPointModel>Fast</FloatingPointModel>
+
+ <ExportLibrary platform="Win32">..\..\..\lib\win32\NvFlexExtReleaseD3D_x86.lib</ExportLibrary>
+ <ExportLibrary platform="Win64">..\..\..\lib\win64\NvFlexExtReleaseD3D_x64.lib</ExportLibrary>
+
+ <Libraries platforms="Win32">
+ ${user:ProjectRoot}/lib/win32/NvFlexReleaseD3D_x86.lib
+ </Libraries>
+
+ <Libraries platforms="Win64">
+ ${user:ProjectRoot}/lib/win64/NvFlexReleaseD3D_x64.lib
+ </Libraries>
+
+ </Config>
+
+
+ <SearchPaths type="header">
+ ..\..\..\
+ ..\..\..\external\D3D11\include
+ ..\..\..\external\D3D12\include
+ </SearchPaths>
+
+ <SearchPaths type="lib" platform="Win32">
+ ..\..\..\external\D3D11\libs\x86
+ ..\..\..\external\D3D12\libs\x86
+ ..\..\..\lib\win32
+ </SearchPaths>
+
+ <SearchPaths type="lib" platform="Win64">
+ ..\..\..\external\D3D11\libs\x64
+ ..\..\..\external\D3D12\libs\x64
+ ..\..\..\lib\win64
+ </SearchPaths>
+
+ <!-- Source -->
+
+ <Files name="Core" type="source" root="${user:ProjectRoot}/core">
+ sdf.cpp
+ voxelize.cpp
+ maths.cpp
+ aabbtree.cpp
+ </Files>
+
+ <Files name="src" type="source" root="${user:ProjectRoot}/extensions/dx">
+ flexExt.cpp
+ flexExt.hlsl
+ flexExt_dx_common.h
+ </Files>
+
+ <Files name="src" type="source" root="${user:ProjectRoot}/include">
+ flexExt.h
+ </Files>
+
+ <Files name="src" type="source" root="${user:ProjectRoot}/extensions">
+ flexExtCloth.cpp
+ flexExtRigid.cpp
+ flexExtSoft.cpp
+ flexExtMovingFrame.cpp
+ flexExtContainer.cpp
+ </Files>
+
+ <HLSL Configurations="release" DisableOptim="No" Debug="No" ShaderModel="5.0" Platforms="Win32 Win64" ObjectFileOutput=" " WarningAsErrors="false" OutputHeaderFileName="${user:ProjectRoot}/extensions/dx/shaders/%(Filename).h">
+ <File ShaderType="Compute" EntryPoint="UpdateForceFields::execute" OutputHeaderVarName="g_flexExt_UpdateForceFields"> "${user:ProjectRoot}/extensions/dx/shaders/flexExt.UpdateForceFields.hlsl" </File>
+ </HLSL>
+
+ <Conditional value="${config}" match="internal">
+ <Dependencies>
+ flexD3D
+ </Dependencies>
+ </Conditional>
+
+ </Target>
+ </Project>
+</XPJ> \ No newline at end of file