aboutsummaryrefslogtreecommitdiff
path: root/vrayPlug/plugin/LinuxSh_x64_vray40.mak
blob: 2a982dbc54a1687c0bb06d44e603b531e12065b1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
####################################################################
#
#		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

# sanity check
ifeq (,$(findstring 4.8,$(shell $(C++) --version)))
    $(error "V-Ray 4.0 must be built with gcc-4.8!")
endif


#
# vray include/lib path
#
# you should replace it with own paths 

VRAY_LDIR = $(SHAVE_VRAY_SDKS)/$(VRAY_VERSION)/lib/linux
VRAY_IDIR = $(SHAVE_VRAY_SDKS)/$(VRAY_VERSION)/include

#
# output and temp dirs
#
OUTDIR = ../bin/linux_x64
TMPDIR = ./build/release/linux_x64/clang-gcc-4.8/vray40


OBJS = \
$(TMPDIR)/shaderMain.obj \
$(TMPDIR)/shaveVrayBaseBSDF.obj \
$(TMPDIR)/shaveVrayBaseBSDFPool.obj \
$(VRAY_LDIR)/libvutils_s.a \
$(VRAY_LDIR)/libplugman_s.a \
$(VRAY_LDIR)/librayserver_s.a



GCCFLAGS = -v -Wall -lpthread -lrt -lc -lz -fPIC
GCCFLAGS_OBJ = -std=c++11 -O2  -ffunction-sections -fdata-sections -finline-functions -funswitch-loops -fgcse-after-reload -ffast-math -fPIC -DHAVE_EXR -DBits64_ -D_REENTRANT  -fexceptions  -DVRAY40
GCCLDFLAGS = -Bsymbolic

#
# vray libs
#
LIBS = -ldl -lvray 


LIBDIRS = -L. -L$(VRAY_LDIR) 
INCDIRS = -I. -I$(VRAY_IDIR)

all: ../bin/linux_x64/ShaveSh40.so

../bin/linux_x64/ShaveSh40.so: $(TMPDIR) $(OUTDIR) $(OBJS)
	$(C++) $(GCCFLAGS) $(GCCLDFLAGS) $(LIBDIRS) -shared -Wl,--export-dynamic -o "$(OUTDIR)/ShaveSh40.so" "-Wl,-(" $(OBJS) $(LIBS) "-Wl,-)"



$(TMPDIR):
	-@mkdir -p "$(TMPDIR)"

$(OUTDIR):
	-@mkdir -p "$(OUTDIR)"



$(TMPDIR)/shaderMain.obj: shaderMain.cpp
	$(C++) $(GCCFLAGS_OBJ)  $(INCDIRS)  -D "NDEBUG" -c -o "$(TMPDIR)/shaderMain.obj" "shaderMain.cpp"


$(TMPDIR)/shaveVrayBaseBSDF.obj: shaveVrayBaseBSDF.cpp
	$(C++) $(GCCFLAGS_OBJ)  $(INCDIRS)  -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayBaseBSDF.obj" "shaveVrayBaseBSDF.cpp"

$(TMPDIR)/shaveVrayBaseBSDFPool.obj: shaveVrayBaseBSDFPool.cpp
	$(C++) $(GCCFLAGS_OBJ)  $(INCDIRS)  -D "NDEBUG" -c -o "$(TMPDIR)/shaveVrayBaseBSDFPool.obj" "shaveVrayBaseBSDFPool.cpp"


clean: 
	-@rm -f $(TMPDIR)/*.obj 
	-@rm -f $(OUTDIR)/ShaveSh40.so