import os Import('env') # inherit from parent # make a modified local copy util = env.Copy(LIBS=['rt'] + env['RAD_MLIB']) # compose paths def radbin(name): return os.path.join(env['RAD_BUILDBIN'], name) def radlib(name): return os.path.join(env['RAD_BUILDLIB'], name) # standard targets PROGS = [ ('findglare', Split('findglare.c glareval.c glaresrc.c setscan.c')), ('glarendx', Split('glarendx.c')), ('vwright', Split('vwright.c')), ('vwrays', Split('vwrays.c')), ('rad', Split('rad.c')), ('rpiece', Split('rpiece.c Version.c')), ] if os.name != 'nt': # XXX pending Windows version of netproc.c PROGS.append(('ranimate', Split('ranimate.c netproc.c'))) for p in PROGS: prog = util.Program(target=radbin(p[0]), source=p[1]) Default(prog) env.Append(RAD_BININSTALL=[util.Install(util['RAD_BINDIR'], prog)]) if os.name != 'nt': # XXX pending resolution of free_os() conflict # targets with different includes/libs rs = Split('ranimove.c ranimove1.c ranimove2.c') for l in ['raycalls', 'radiance']: # XXX ugly rs.append(radlib(util['LIBPREFIX'] + l + util['LIBSUFFIX'])) ranimove = util.Program(target=radbin('ranimove'), source=rs, CPPPATH=util.get('CPPPATH', []) + ['#src/rt']) Default(ranimove) env.Append(RAD_BININSTALL=[util.Install(util['RAD_BINDIR'], ranimove)]) getinfo = util.Program(target=radbin('getinfo'), source='getinfo.c', LIBS=['rt']) Default(getinfo) env.Append(RAD_BININSTALL=[util.Install(util['RAD_BINDIR'], getinfo)]) # special targets not normally built scanner = util.Program(target=radbin('scanner'), source='scanner.c', LIBS=['m']) makedist = util.Program(target=radbin('makedist'), source=Split('makedist.c setscan.c')) scanner_i = util.Install(util['RAD_BINDIR'], scanner) makedist_i = util.Install(util['RAD_BINDIR'], makedist) util.Alias('util_special', [scanner, makedist]) util.Alias('util_special_install', [scanner_i, makedist_i]) # X11 targets if util.has_key('X11LIB'): util.Append(CPPPATH=util['X11INCLUDE']) util.Append(LIBS='X11') util.Append(LIBPATH=util['X11LIB']) xglaresrc = util.Program(target=radbin('xglaresrc'), source=Split('xglaresrc.c x11findwind.c'),) Default(xglaresrc) env.Append(RAD_BININSTALL=[util.Install(util['RAD_BINDIR'], xglaresrc)]) # OpenGL targets that also depend on X11 if util.has_key('OGL'): glrad = util.Program(target=radbin('glrad'), source=Split('glrad.c'), CPPFLAGS=util.get('CPPFLAGS', []) + [util['RAD_STEREO']], LIBS=['rgl', 'GL', 'GLU']+util['LIBS'],) Default(glrad) env.Append(RAD_BININSTALL=[util.Install(util['RAD_BINDIR'], glrad)])