diff options
| author | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
|---|---|---|
| committer | Ben Marsh <[email protected]> | 2019-10-22 09:07:59 -0400 |
| commit | bd0027e737c6512397f841c22786274ed74b927f (patch) | |
| tree | f7ffbdb8f3741bb7f24635616cc189cba5cb865c /vrayPlug/plugin/Linux_x64_vray40.mak | |
| download | shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.tar.xz shave-and-a-haircut-bd0027e737c6512397f841c22786274ed74b927f.zip | |
Adding Shave-and-a-Haircut 9.6
Diffstat (limited to 'vrayPlug/plugin/Linux_x64_vray40.mak')
| -rw-r--r-- | vrayPlug/plugin/Linux_x64_vray40.mak | 195 |
1 files changed, 195 insertions, 0 deletions
diff --git a/vrayPlug/plugin/Linux_x64_vray40.mak b/vrayPlug/plugin/Linux_x64_vray40.mak new file mode 100644 index 0000000..20810f4 --- /dev/null +++ b/vrayPlug/plugin/Linux_x64_vray40.mak @@ -0,0 +1,195 @@ +#################################################################### +# +# Maya Location & Version +# +#################################################################### +ifndef MAYA_LOCATION +$(error "MAYA_LOCATION is not defined") +endif + +ifeq ($(wildcard $(MAYA_LOCATION)),) +$(error "MAYA_LOCATION contains '$(MAYA_LOCATION)', which does not exist.") +endif + +ifndef SHAVE_VRAY_SDKS +$(error "SHAVE_VRAY_SDKS is not defined.") +endif + +ifndef VRAY_VERSION +$(error "VRAY_VERSION is not defined.") +endif + +versionInfo := $(shell ../../utils/getMayaAPIVersion.sh) +mayaAPI := $(word 1,$(versionInfo)) +mayaVersion := $(word 2,$(versionInfo)) +mayaMajorVersion := $(word 3, $(versionInfo)) +mayaMinorVersion := $(word 4, $(versionInfo)) + +ifeq ($(findstring -x64,$(MAYA_LOCATION)),-x64) + mayaVersion := $(mayaVersion)-x64 +endif + + +#################################################################### +# +# Compiler & Linker +# +#################################################################### + +C++ = $(shell ../../utils/getg++vray.sh $(mayaVersion) 40) +CC = $(subst ++,cc,$(C++)) + +ifeq ($(C++),) + $(error "Maya version $(mayaVersion) not supported.") +endif + +OUTDIR = ../bin/linux_x64 +TMPDIR = ./build/release/linux_x64/clang-gcc-4.8/vray40 + +VRAY_LDIR = $(SHAVE_VRAY_SDKS)/$(VRAY_VERSION)/lib/linux +VRAY_IDIR = $(SHAVE_VRAY_SDKS)/$(VRAY_VERSION)/include + +OBJS = \ +$(TMPDIR)/shaveSDKCALLBACKS.obj \ +$(TMPDIR)/hairAPIimp.obj \ +$(TMPDIR)/pluginMain.obj \ +$(TMPDIR)/shaveVrayDesc.obj \ +$(TMPDIR)/shaveVrayInstance.obj \ +$(TMPDIR)/shaveVrayMovingVoxelPrim.obj \ +$(TMPDIR)/shaveVrayPlugin.obj \ +$(TMPDIR)/shaveVrayShadeable.obj \ +$(TMPDIR)/shaveVrayShadeData.obj \ +$(TMPDIR)/shaveVraySharedFunctions.obj \ +$(TMPDIR)/shaveVrayStaticVoxelPrim.obj \ +$(TMPDIR)/shaveVrayVoxelPrim.obj \ +$(TMPDIR)/shaveVrayInstanceBase.obj \ +$(TMPDIR)/shaveVrayInstanceI.obj \ +$(TMPDIR)/shaveVrayTriVoxelPrim.obj \ +$(TMPDIR)/shaveVrayMovingTriVoxelPrim.obj \ +$(TMPDIR)/shaveVrayStaticTriVoxelPrim.obj \ +$(TMPDIR)/shaveVrayTriShadeable.obj \ +$(TMPDIR)/shaveVrayTriShadeData.obj + + + +GCCFLAGS = -g -Wall -pthread -lrt -lc -lz -fPIC +GCCFLAGS_OBJ = -std=c++11 -ffunction-sections -fdata-sections -finline-functions -funswitch-loops -fgcse-after-reload -ffast-math -fPIC -DHAVE_EXR -DBits64_ -D_REENTRANT -DLINUX -fexceptions -DVRAY40 -DVRAY_DUAL -DVRAY_EXPORTS +GCCLDFLAGS = -Bsymbolic + +# intrisics.h thinks that _mm_cvtss_f32() and some other funcs are +# missing from the "gcc 4.1" headers and thus provides its own. However, those +# funcs *are* present in our gcc 4.1.2 headers, so we want to avoid having +# vray redefine them. +# +GCCFLAGS_OBJ += -D_GCC41_MM_CVTSS_F32_FIX__MATH_H__ + +# +# shave related libs +# +SHAVELIB = "../../libexe/shavelibAW2-x64.a" + +# +# std libs +# +LIBS = -lvutils_s -lplugman_s -lrayserver_s -lvray -ldl $(SHAVELIB) +LIBDIRS = -L. -L$(VRAY_LDIR) -L"../libs/shave/linux64" +INCDIRS = -I. -I$(VRAY_IDIR) -I"../../libexe/sample/include" + +all: ../bin/linux_x64/libvray_Shave40.so + +../bin/linux_x64/libvray_Shave40.so: $(TMPDIR) $(OUTDIR) $(OBJS) + $(C++) $(GCCFLAGS) $(GCCLDFLAGS) $(LIBDIRS) -shared -z defs -Wl,--export-dynamic -o "$(OUTDIR)/libvray_Shave40.so" "-Wl,-(" $(OBJS) $(LIBS) "-Wl,-)" + +$(TMPDIR): + -@mkdir -p "$(TMPDIR)" + +$(OUTDIR): + -@mkdir -p "$(OUTDIR)" + +$(TMPDIR)/shaveSDKCALLBACKS.obj: shaveSDKCALLBACKS.c + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveSDKCALLBACKS.obj" "shaveSDKCALLBACKS.c" + + +$(TMPDIR)/hairAPIimp.obj: hairAPIimp.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/hairAPIimp.obj" "hairAPIimp.cpp" + + +$(TMPDIR)/pluginMain.obj: pluginMain.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/pluginMain.obj" "pluginMain.cpp" + +#goes to LinuxSh_x64.mak +#$(TMPDIR)/shaveVrayBaseBSDF.obj: shaveVrayBaseBSDF.cpp +# $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayBaseBSDF.obj" "shaveVrayBaseBSDF.cpp" + + +$(TMPDIR)/shaveVrayDesc.obj: shaveVrayDesc.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayDesc.obj" "shaveVrayDesc.cpp" + + +$(TMPDIR)/shaveVrayInstance.obj: shaveVrayInstance.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayInstance.obj" "shaveVrayInstance.cpp" + + +$(TMPDIR)/shaveVrayMovingVoxelPrim.obj: shaveVrayMovingVoxelPrim.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayMovingVoxelPrim.obj" "shaveVrayMovingVoxelPrim.cpp" + + +$(TMPDIR)/shaveVrayPlugin.obj: shaveVrayPlugin.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayPlugin.obj" "shaveVrayPlugin.cpp" + + +$(TMPDIR)/shaveVrayShadeable.obj: shaveVrayShadeable.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayShadeable.obj" "shaveVrayShadeable.cpp" + + +$(TMPDIR)/shaveVrayShadeData.obj: shaveVrayShadeData.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayShadeData.obj" "shaveVrayShadeData.cpp" + + +$(TMPDIR)/shaveVraySharedFunctions.obj: shaveVraySharedFunctions.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVraySharedFunctions.obj" "shaveVraySharedFunctions.cpp" + + +$(TMPDIR)/shaveVrayStaticVoxelPrim.obj: shaveVrayStaticVoxelPrim.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayStaticVoxelPrim.obj" "shaveVrayStaticVoxelPrim.cpp" + + +$(TMPDIR)/shaveVrayVoxelPrim.obj: shaveVrayVoxelPrim.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayVoxelPrim.obj" "shaveVrayVoxelPrim.cpp" + + +#instanced hair + +$(TMPDIR)/shaveVrayInstanceBase.obj: shaveVrayInstanceBase.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayInstanceBase.obj" "shaveVrayInstanceBase.cpp" + + +$(TMPDIR)/shaveVrayInstanceI.obj: shaveVrayInstanceI.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayInstanceI.obj" "shaveVrayInstanceI.cpp" + + +$(TMPDIR)/shaveVrayTriVoxelPrim.obj: shaveVrayTriVoxelPrim.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayTriVoxelPrim.obj" "shaveVrayTriVoxelPrim.cpp" + + +$(TMPDIR)/shaveVrayMovingTriVoxelPrim.obj: shaveVrayMovingTriVoxelPrim.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayMovingTriVoxelPrim.obj" "shaveVrayMovingTriVoxelPrim.cpp" + + +$(TMPDIR)/shaveVrayStaticTriVoxelPrim.obj: shaveVrayStaticTriVoxelPrim.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayStaticTriVoxelPrim.obj" "shaveVrayStaticTriVoxelPrim.cpp" + + +$(TMPDIR)/shaveVrayTriShadeable.obj: shaveVrayTriShadeable.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayTriShadeable.obj" "shaveVrayTriShadeable.cpp" + + +$(TMPDIR)/shaveVrayTriShadeData.obj: shaveVrayTriShadeData.cpp + $(C++) $(GCCFLAGS_OBJ) $(INCDIRS) -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayTriShadeData.obj" "shaveVrayTriShadeData.cpp" + + + +clean: + -@rm -f $(TMPDIR)/*.obj + -@rm -f $(OUTDIR)/libvray_Shave40.so + |