ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/SConscript
Revision: 1.22
Committed: Sat Mar 19 12:53:19 2016 UTC (8 years, 1 month ago) by schorsch
Branch: MAIN
CVS Tags: rad5R1
Changes since 1.21: +6 -4 lines
Log Message:
better solution for addobjnotify

File Contents

# Content
1 import os
2
3 Import('env') # inherit from parent
4
5 mlib = ['$RAD_MLIB']
6 progs = []
7
8 # compose paths
9 def radbin(name): return os.path.join('$RAD_BUILDBIN', name)
10 def radlib(name): return os.path.join('$RAD_BUILDLIB', name)
11 def tclscr(name): return os.path.join('$RAD_BUILDRLIB', 'tcl', name)
12
13 cmatrix = env.Object(source='cmatrix.c')
14 cmbsdf = env.Object(source='cmbsdf.c')
15
16 # standard targets
17 PROGS = [
18 ('findglare', Split('findglare.c glareval.c glaresrc.c setscan.c'), ['rtrad']),
19 ('glarendx', Split('glarendx.c'), ['rtrad']),
20 ('vwright', Split('vwright.c'), ['rtrad']),
21 ('vwrays', Split('vwrays.c'), ['rtrad']),
22 ('rad', Split('rad.c'), ['rtrad']),
23 ('rpiece', Split('rpiece.c') + [env.version], ['rtrad']),
24 ('ranimate', ['ranimate.c', '$RAD_NETCOMPAT'], ['rtrad', '$RAD_SOCKETLIB']),
25 ('dctimestep', Split('dctimestep.c')+[cmatrix, cmbsdf], ['rtrad']),
26 ('rttree_reduce', Split('rttree_reduce.c'), ['rtrad']),
27 ('rcollate', Split('rcollate.c'), ['rtrad']),
28 ('eplus_adduvf', Split('eplus_adduvf.c eplus_idf.c'), ['rtrad']),
29 ('rfluxmtx', Split('rfluxmtx.c'), ['rtrad']),
30 ('rmtxop', Split('rmtxop.c rmatrix.c')+[cmatrix, cmbsdf], ['rtrad']),
31 ('wrapBSDF', Split('wrapBSDF.c'), ['rtrad']),
32 ('evalglare', Split('evalglare.c pictool.c'), ['rtrad', 'reetz']),
33 ]
34
35 for p in PROGS:
36 prog = env.Program(target=radbin(p[0]), source=p[1], LIBS=p[2]+mlib)
37 progs.append(prog)
38
39 # targets with different includes/libs
40 rs = Split('ranimove.c ranimove1.c ranimove2.c')
41 ranimove = env.Program(target=radbin('ranimove'), source=rs,
42 CPPPATH=env.get('CPPPATH', [])+ ['#src/rt'],
43 LIBS=['raycalls','rttrace','rtrad'] + mlib)
44 progs.append(ranimove)
45 rsensor = env.Program(target=radbin('rsensor'), source='rsensor.c',
46 CPPPATH=env.get('CPPPATH', [])+ ['#src/rt'],
47 LIBS=['raycalls','rttrace','rtrad'] + mlib)
48 progs.append(rsensor)
49
50 getinfo = env.Program(target=radbin('getinfo'), source='getinfo.c',
51 LIBS=['rtrad'])
52 progs.append(getinfo)
53
54
55 # X11 targets
56 if env.has_key('X11LIB'):
57 addobj = env.get('ADDOBJNOTIFY')
58 xincl = env.get('CPPPATH', []) + ['$X11INCLUDE']
59 xlibp = env.get('LIBPATH', []) + ['$X11LIB']
60 xglaresrc = env.Program(target=radbin('xglaresrc'),
61 source=Split('xglaresrc.c') + [env.x11findwind], # XXX remote magic
62 LIBPATH=xlibp, CPPPATH=xincl,
63 LIBS=['rtrad', 'X11']+ mlib)
64 progs.append(xglaresrc)
65
66 # OpenGL targets that also depend on X11
67 if env.has_key('OGL'):
68 glrad = env.Program(target=radbin('glrad'),
69 source=['glrad.c', addobj],
70 CPPFLAGS=env.get('CPPFLAGS', []) + ['$RAD_STEREO'],
71 LIBPATH=xlibp, CPPPATH=xincl,
72 LIBS=['rgl','rtrad','GL', 'GLU','X11'] + mlib,)
73 progs.append(glrad)
74
75 if os.name == 'posix': # XXX ignoring trad.wsh
76 for s in Split('''objline glare dayfact
77 debugcal rlux raddepend compamb vinfo fieldcomb'''):
78 Default(env.InstallScript(radbin(s), s + '.csh'))
79 for s in Split('''objview objpict
80 genambpos genklemsamp genskyvec genBSDF ltview ltpict'''):
81 Default(env.InstallScript(radbin(s), s + '.pl'))
82 for s in Split('''do_action.tcl do_file.tcl do_options.tcl do_results.tcl
83 do_scene.tcl do_views.tcl do_zone.tcl file.hlp getfile.tcl gethelp.tcl
84 help.hlp tclIndex trad.hlp trad.icon util.tcl'''):
85 Default(env.InstallScript(tclscr(s), s))
86 Default(env.InstallTCLScript(radbin('trad'), 'trad.wsh'))
87
88 # Those don't really work yet
89 #else:
90 # for s in Split('''objview glare rlux '''):
91 # prog = env.Program(target=radbin(s), source=s+'.c')
92 # progs.append(prog)
93
94 Default('#src/util')
95 env.Install('$RAD_BINDIR', progs)
96
97 # vim: set syntax=python: