include ../../config-osx.mak ifndef SHAVE_VRAY_SDKS $(error "SHAVE_VRAY_SDKS is not defined.") endif ifndef VRAY_VERSION $(error "VRAY_VERSION is not defined.") endif OUTDIR = ../bin/mavericks TMPDIR = ./build/release/mavericks/vray40 OBJS = \ $(TMPDIR)/shaveSDKCALLBACKS.obj \ $(TMPDIR)/hairAPIimp.obj \ $(TMPDIR)/pluginMain.obj \ $(TMPDIR)/shaveVrayBaseBSDF.obj \ $(TMPDIR)/shaveVrayBaseBSDFPool.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 # We do NOT want to specify MINVER as that has already been determined by # the caller setting MACOSX_DEPLOYMENT_TARGET and we don't want to override # that. # MINVER = ARCH = -arch x86_64 FWORKS = -framework System \ -framework CoreServices \ -framework Carbon \ -framework Cocoa \ -framework ApplicationServices \ -framework IOKit GCCFLAGS = -msse -msse2 $(sdkLibFlag) \ $(ARCH) -DBits64_ -fvisibility=hidden -headerpad_max_install_names \ $(FWORKS) $(MINVER) -dynamic -bundle -flat_namespace GCCFLAGS_OBJ = --prefix=/usr -O2 -fvisibility=hidden -ffunction-sections -fdata-sections -finline-functions -funswitch-loops $(sdkRootFlag) \ -ffast-math -msse -msse2 $(ARCH) -DBits64_ \ -D_LANGUAGE_C_PLUS_PLUS -DREQUIRE_IOSTREAM \ -DHAVE_EXR -D_REENTRANT $(MINVER) -fexceptions -D "NDEBUG" -D "VRAY40" -D VRAY_EXPORTS G++FLAGS_OBJ = $(GCCFLAGS_OBJ) -std=c++11 SHAVELIB = "../../libexe/shaveLibAW2-x86_64.a" # # std libs # LIBS = -lpthread -lc -lz -ldl -lplugman_s -lvutils_s -lrayserver_s -lvray $(SHAVELIB) LIBDIRS = -L. -L"$(SHAVE_VRAY_SDKS)/$(VRAY_VERSION)/lib/osx" INCDIRS = -I. -I"$(SHAVE_VRAY_SDKS)/$(VRAY_VERSION)/include" -I"../../libexe/sample/include" all: $(OUTDIR)/libvray_Shave40.so $(OUTDIR)/libvray_Shave40.so: $(TMPDIR) $(OUTDIR) $(OBJS) $(C++) $(GCCFLAGS) $(LIBDIRS) $(LIBS) -o "$(OUTDIR)/libvray_Shave40.so" -O $(OBJS) strip -X "$(OUTDIR)/libvray_Shave40.so" $(TMPDIR): -@mkdir -p "$(TMPDIR)" $(OUTDIR): -@mkdir -p "$(OUTDIR)" $(TMPDIR)/shaveSDKCALLBACKS.obj: shaveSDKCALLBACKS.c $(CC) $(GCCFLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveSDKCALLBACKS.obj" "shaveSDKCALLBACKS.c" $(TMPDIR)/hairAPIimp.obj: hairAPIimp.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/hairAPIimp.obj" "hairAPIimp.cpp" $(TMPDIR)/pluginMain.obj: pluginMain.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/pluginMain.obj" "pluginMain.cpp" $(TMPDIR)/shaveVrayBaseBSDF.obj: shaveVrayBaseBSDF.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayBaseBSDF.obj" "shaveVrayBaseBSDF.cpp" $(TMPDIR)/shaveVrayBaseBSDFPool.obj: shaveVrayBaseBSDFPool.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayBaseBSDFPool.obj" "shaveVrayBaseBSDFPool.cpp" $(TMPDIR)/shaveVrayDesc.obj: shaveVrayDesc.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayDesc.obj" "shaveVrayDesc.cpp" $(TMPDIR)/shaveVrayInstance.obj: shaveVrayInstance.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayInstance.obj" "shaveVrayInstance.cpp" $(TMPDIR)/shaveVrayMovingVoxelPrim.obj: shaveVrayMovingVoxelPrim.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayMovingVoxelPrim.obj" "shaveVrayMovingVoxelPrim.cpp" $(TMPDIR)/shaveVrayPlugin.obj: shaveVrayPlugin.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayPlugin.obj" "shaveVrayPlugin.cpp" $(TMPDIR)/shaveVrayShadeable.obj: shaveVrayShadeable.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayShadeable.obj" "shaveVrayShadeable.cpp" $(TMPDIR)/shaveVrayShadeData.obj: shaveVrayShadeData.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayShadeData.obj" "shaveVrayShadeData.cpp" $(TMPDIR)/shaveVraySharedFunctions.obj: shaveVraySharedFunctions.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVraySharedFunctions.obj" "shaveVraySharedFunctions.cpp" $(TMPDIR)/shaveVrayStaticVoxelPrim.obj: shaveVrayStaticVoxelPrim.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayStaticVoxelPrim.obj" "shaveVrayStaticVoxelPrim.cpp" $(TMPDIR)/shaveVrayVoxelPrim.obj: shaveVrayVoxelPrim.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayVoxelPrim.obj" "shaveVrayVoxelPrim.cpp" #instanced hair $(TMPDIR)/shaveVrayInstanceBase.obj: shaveVrayInstanceBase.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayInstanceBase.obj" "shaveVrayInstanceBase.cpp" $(TMPDIR)/shaveVrayInstanceI.obj: shaveVrayInstanceI.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayInstanceI.obj" "shaveVrayInstanceI.cpp" $(TMPDIR)/shaveVrayTriVoxelPrim.obj: shaveVrayTriVoxelPrim.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayTriVoxelPrim.obj" "shaveVrayTriVoxelPrim.cpp" $(TMPDIR)/shaveVrayMovingTriVoxelPrim.obj: shaveVrayMovingTriVoxelPrim.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayMovingTriVoxelPrim.obj" "shaveVrayMovingTriVoxelPrim.cpp" $(TMPDIR)/shaveVrayStaticTriVoxelPrim.obj: shaveVrayStaticTriVoxelPrim.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayStaticTriVoxelPrim.obj" "shaveVrayStaticTriVoxelPrim.cpp" $(TMPDIR)/shaveVrayTriShadeable.obj: shaveVrayTriShadeable.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayTriShadeable.obj" "shaveVrayTriShadeable.cpp" $(TMPDIR)/shaveVrayTriShadeData.obj: shaveVrayTriShadeData.cpp $(C++) $(G++FLAGS_OBJ) $(INCDIRS) -c -o "$(TMPDIR)/shaveVrayTriShadeData.obj" "shaveVrayTriShadeData.cpp" clean: -@rm -f $(TMPDIR)/*.obj -@rm -f $(OUTDIR)/libvray_Shave40.so