| 1 | 
greg | 
1.11 | 
import os | 
| 2 | 
  | 
  | 
 | 
| 3 | 
  | 
  | 
Import ('env') | 
| 4 | 
  | 
  | 
 | 
| 5 | 
  | 
  | 
# math libs | 
| 6 | 
  | 
  | 
mlib = env['RAD_MLIB'] | 
| 7 | 
  | 
  | 
 | 
| 8 | 
  | 
  | 
# compose paths | 
| 9 | 
  | 
  | 
def rbin(name): return os.path.join(env['RAD_BUILDBIN'], name) | 
| 10 | 
  | 
  | 
 | 
| 11 | 
  | 
  | 
trans = env.Object(source="trans.c") | 
| 12 | 
schorsch | 
1.13 | 
bsdfrep = env.Object(source="bsdfrep.c") | 
| 13 | 
  | 
  | 
bsdfinterp = env.Object(source="bsdfinterp.c") | 
| 14 | 
  | 
  | 
 | 
| 15 | 
greg | 
1.11 | 
# standard targets | 
| 16 | 
  | 
  | 
PROGS = [ | 
| 17 | 
schorsch | 
1.15 | 
('3ds2mgf', Split('3ds2mgf.c rayopt3ds.c vect3ds.c'), ['mgf','rtrad'] + mlib), | 
| 18 | 
  | 
  | 
('ies2rad',   ['ies2rad.c'],       ['rtrad'] + mlib), | 
| 19 | 
  | 
  | 
#('arch2rad',  ['arch2rad.c',trans],['rtrad'] + mlib), | 
| 20 | 
greg | 
1.11 | 
('nff2rad',   ['nff2rad.c'],       []), | 
| 21 | 
schorsch | 
1.15 | 
('lampcolor', ['lampcolor.c'],     ['rtrad'] ), | 
| 22 | 
  | 
  | 
('tmesh2rad', ['tmesh2rad.c'],     ['rtrad']  + mlib), | 
| 23 | 
  | 
  | 
('obj2rad',   ['obj2rad.c',trans], ['rtrad']  + mlib), | 
| 24 | 
  | 
  | 
('mgf2rad',   ['mgf2rad.c'],       ['mgf','rtrad']  + mlib), | 
| 25 | 
  | 
  | 
('rad2mgf',   ['rad2mgf.c'],       ['rtrad'] + mlib), | 
| 26 | 
  | 
  | 
('mgfilt',    ['mgfilt.c'],        ['mgf','rtrad'] + mlib), | 
| 27 | 
  | 
  | 
('mgf2inv',   ['mgf2inv.c'],       ['mgf','rtrad'] + mlib), | 
| 28 | 
schorsch | 
1.13 | 
('pabopto2bsdf',  | 
| 29 | 
  | 
  | 
        ['pabopto2bsdf.c',bsdfrep,'bsdfrbf.c', 'bsdfmesh.c', 'bsdftrans.cpp',],  | 
| 30 | 
schorsch | 
1.15 | 
        ['rtrad'] + mlib), | 
| 31 | 
  | 
  | 
('bsdf2klems',['bsdf2klems.c', bsdfrep, bsdfinterp,], ['rtrad'] + mlib), | 
| 32 | 
  | 
  | 
('bsdf2ttree',['bsdf2ttree.c', bsdfrep, bsdfinterp,], ['rtrad'] + mlib), | 
| 33 | 
  | 
  | 
('pkgBSDF',   ['pkgBSDF.c', ], ['rtrad'] + mlib), | 
| 34 | 
  | 
  | 
('epw2wea',   ['epw2wea.c', ], ['rtrad'] + mlib), | 
| 35 | 
  | 
  | 
('mgf2meta',  ['mgf2meta.c'],  ['meta', 'mgf','rtrad'] + mlib, | 
| 36 | 
  | 
  | 
        [os.path.join('#src','meta')]), | 
| 37 | 
greg | 
1.11 | 
] | 
| 38 | 
  | 
  | 
for p in PROGS: | 
| 39 | 
schorsch | 
1.15 | 
        if len(p) == 4: inclp = env.get('CPPPATH', []) + [os.path.join('#src','meta')], | 
| 40 | 
  | 
  | 
        else: inclp = env.get('CPPPATH', []) | 
| 41 | 
  | 
  | 
        prog = env.Program(target=rbin(p[0]), source=p[1], LIBS=p[2], CPPPATH=inclp) | 
| 42 | 
greg | 
1.11 | 
        Default(prog) | 
| 43 | 
  | 
  | 
        env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)]) | 
| 44 | 
  | 
  | 
 | 
| 45 | 
  | 
  | 
LIBFILES = Split('source.cal tilt.cal window.cal') | 
| 46 | 
  | 
  | 
env.Append(RAD_RLIBINSTALL=env.Install(env['RAD_RLIBDIR'], LIBFILES)) | 
| 47 | 
  | 
  | 
 | 
| 48 | 
  | 
  | 
if os.name == 'posix': | 
| 49 | 
  | 
  | 
        for s in Split('''optics2rad'''): | 
| 50 | 
schorsch | 
1.12 | 
                Default(env.InstallScript(rbin(s), s + '.csh')) | 
| 51 | 
schorsch | 
1.13 | 
 | 
| 52 | 
  | 
  | 
# vim: set syntax=python: |