--- ray/src/gen/SConscript 2010/12/15 01:40:11 1.13 +++ ray/src/gen/SConscript 2010/12/15 21:51:46 1.14 @@ -1,64 +1,68 @@ -import os - -Import('env') # inherit from parent - -# math libs -mlib = env['RAD_MLIB'] - -# standard targets -PROGS = ( -# name sources libs -('gendaylit', Split('gendaylit.c sun.c',), ['rtlamps']), -('genbeads', Split('genbeads.c hermite3.c'), []), -('genbox', ['genbox.c',], []), -('genmarble', ['genmarble.c',], []), -('gensky', Split('gensky.c sun.c',), []), -('genblinds', ['genblinds.c',], []), -('genprism', ['genprism.c',], []), -('genrev', ['genrev.c',], ['rtfunc','rtcont','rtmem','rtio','rterror']), -('gencatenary', ['gencat.c',], []), -('genworm', ['genworm.c',], - ['rtfunc','rtmem','rtcont','rtmath','rtio','rterror']), -('gensurf', ['gensurf.c',], - ['rtfunc','rtmem','rtcont','rtmath','rtio','rterror']), -('genclock', ['genclock.c',], []), -('genbranch', ['genbranch.c',], []), -('replmarks', ['replmarks.c',], - ['rtproc','rtpath','rtmath','rtio','rterror']), -#('mkillum', Split('mkillum.c mkillum2.c mkillum3.c'), -# ['rtproc','rtscene','rtpath','rtmath','rtio','rtcont','rterror']), -#('mksource', ['mksource.c'], -# ['rtio','rtmath','rterror']), -('xform', ['xform.c',], - ['rtproc','rtscene','rtmath','rtargs','rtio','rtcont','rtpath','rterror']), -) -progs = [] -for p in PROGS: - prog = env.Program(target=os.path.join('$RAD_BUILDBIN', p[0]), - source=p[1], LIBS=p[2] + mlib) - progs.append(prog) - -prog = env.Program(target=os.path.join('$RAD_BUILDBIN', 'mkillum'), - source=Split('mkillum.c mkillum2.c mkillum3.c'), - CPPPATH=env.get('CPPPATH', []) + ['#src/rt'], - LIBS=['raycalls','rttrace','rtscene','rtpic','rtfunc','rtproc', - 'rtpath','rtmath','rtargs','rtio','rtcont','rtmem','rterror'] - + mlib) -prog = env.Program(target=os.path.join('$RAD_BUILDBIN', 'mksource'), - source=['mksource.c'], - CPPPATH=env.get('CPPPATH', []) + ['#src/rt'], - LIBS=['raycalls','rttrace','rtscene','rtpic','rtfunc','rtproc', - 'rtmath','rtcont','rtmem','rtargs','rtio','rtpath','rterror'] + mlib) -progs.append(prog) - -if os.name == 'posix': - Default(env.InstallCsh(os.path.join('$RAD_BUILDBIN', 'glaze'), 'glaze.csh')) - -Default('#src/gen') -env.Install('$RAD_BINDIR', progs) - -#surf.cal clockface.hex -LIBFILES = Split('illum.cal rev.cal skybright.cal glaze1.cal glaze2.cal') -env.Append(RAD_RLIBINSTALL=env.Install('$RAD_RLIBDIR', LIBFILES)) - - +import os + +Import('env') # inherit from parent + +# math libs +mlib = env['RAD_MLIB'] + +#Make sure sun.c is compiled only once +sun = env.Object(source="sun.c") + +# standard targets +PROGS = ( +# name sources libs +('gendaylit', Split('gendaylit.c',)+[sun], ['rtlamps']), +('genbeads', Split('genbeads.c hermite3.c'), []), +('genbox', ['genbox.c',], []), +('genmarble', ['genmarble.c',], []), +('gensky', Split('gensky.c',)+[sun], []), +('genblinds', ['genblinds.c',], []), +('genprism', ['genprism.c',], []), +('genrev', ['genrev.c',], ['rtfunc','rtcont','rtmem','rtio','rterror']), +('gencatenary', ['gencat.c',], []), +('genworm', ['genworm.c',], + ['rtfunc','rtmem','rtcont','rtmath','rtio','rterror']), +('gensurf', ['gensurf.c',], + ['rtfunc','rtmem','rtcont','rtmath','rtio','rterror']), +('genclock', ['genclock.c',], []), +('genbranch', ['genbranch.c',], []), +('replmarks', ['replmarks.c',], + ['rtproc','rtpath','rtmath','rtio','rterror']), +#('mkillum', Split('mkillum.c mkillum2.c mkillum3.c'), +# ['rtproc','rtscene','rtpath','rtmath','rtio','rtcont','rterror']), +#('mksource', ['mksource.c'], +# ['rtio','rtmath','rterror']), +('xform', ['xform.c',], + ['rtproc','rtscene','rtmath','rtargs','rtio','rtcont','rtpath','rterror']), +) +progs = [] +for p in PROGS: + prog = env.Program(target=os.path.join('$RAD_BUILDBIN', p[0]), + source=p[1], LIBS=p[2] + mlib) + progs.append(prog) + +prog = env.Program(target=os.path.join('$RAD_BUILDBIN', 'mkillum'), + source=Split('mkillum.c mkillum2.c mkillum3.c'), + CPPPATH=env.get('CPPPATH', []) + ['#src/rt'], + LIBS=['raycalls','rttrace','rtscene','rtpic','rtfunc','rtproc', + 'rtpath','rtmath','rtargs','rtio','rtcont','rtmem','rterror'] + + mlib) +progs.append(prog) +prog = env.Program(target=os.path.join('$RAD_BUILDBIN', 'mksource'), + source=['mksource.c'], + CPPPATH=env.get('CPPPATH', []) + ['#src/rt'], + LIBS=['raycalls','rttrace','rtscene','rtpic','rtfunc','rtproc', + 'rtmath','rtcont','rtmem','rtargs','rtio','rtpath','rterror'] + mlib) +progs.append(prog) + +if os.name == 'posix': + Default(env.InstallCsh(os.path.join('$RAD_BUILDBIN', 'glaze'), 'glaze.csh')) + +Default('#src/gen') +env.Install('$RAD_BINDIR', progs) + +#surf.cal clockface.hex +LIBFILES = Split('illum.cal rev.cal skybright.cal glaze1.cal glaze2.cal perezlum.cal coeff_perez.dat defangle.dat') +env.Append(RAD_RLIBINSTALL=env.Install('$RAD_RLIBDIR', LIBFILES)) + +