import os Import ('env') # math libs mlib = env['RAD_MLIB'] # compose paths def rbin(name): return os.path.join(env['RAD_BUILDBIN'], name) MGFPROGS = ( ('3ds2mgf', Split('3ds2mgf.c rayopt3ds.c vect3ds.c')), ) for p in MGFPROGS: prog = env.Program(target=rbin(p[0]), source=p[1], LIBS=mlib+['mgf','rtcont']) Default(prog) env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)]) trans = env.Object(source="trans.c") bsdfrep = env.Object(source="bsdfrep.c") bsdfinterp = env.Object(source="bsdfinterp.c") # standard targets PROGS = [ ('ies2rad', ['ies2rad.c'], ['rtlamps','rtcolor','rtio','rtpath']+ mlib), #('arch2rad', ['arch2rad.c',trans],['rtcont','rtmem'] + mlib), ('nff2rad', ['nff2rad.c'], []), ('lampcolor', ['lampcolor.c'], ['rtlamps','rtcolor','rtio','rtpath']), ('tmesh2rad', ['tmesh2rad.c'], ['rtscene','rtmath'] + mlib), ('obj2rad', ['obj2rad.c',trans], ['rtscene','rtargs','rtio','rtcont','rtmem','rtmath','rterror'] + mlib), ('mgf2rad', ['mgf2rad.c'], ['mgf','rtall'] + mlib), ('rad2mgf', ['rad2mgf.c'], ['rtproc', 'rtpath', # for win_popen() 'rtscene','rtio','rtcolor','rtcont','rtmem','rterror'] + mlib), ('mgfilt', ['mgfilt.c'], ['mgf','rtall'] + mlib), ('mgf2inv', ['mgf2inv.c'], ['mgf','rtall'] + mlib), ('pabopto2bsdf', ['pabopto2bsdf.c',bsdfrep,'bsdfrbf.c', 'bsdfmesh.c', 'bsdftrans.cpp',], ['rtall'] + mlib), ('bsdf2klems',['bsdf2klems.c',bsdfrep,bsdfinterp, ], ['rtall'] + mlib), ('bsdf2ttree',['bsdf2ttree.c',bsdfrep,bsdfinterp, ], ['rtall'] + mlib), ('pkgBSDF', ['pkgBSDF.c', ], ['rtall'] + mlib), ('epw2wea', ['epw2wea.c', ], ['rtall'] + mlib), ] for p in PROGS: prog = env.Program(target=rbin(p[0]), source=p[1], LIBS=p[2]) Default(prog) env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)]) # meta targets prog = env.Program(target=rbin('mgf2meta'), source=['mgf2meta.c'], CPPPATH=env.get('CPPPATH', []) + [os.path.join('#src','meta')], LIBS=['meta','mgf','rtall'] + mlib) env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)]) LIBFILES = Split('source.cal tilt.cal window.cal') env.Append(RAD_RLIBINSTALL=env.Install(env['RAD_RLIBDIR'], LIBFILES)) if os.name == 'posix': for s in Split('''optics2rad'''): Default(env.InstallScript(rbin(s), s + '.csh')) # vim: set syntax=python: