ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/meta/SConscript
Revision: 1.7
Committed: Thu Mar 10 21:43:23 2016 UTC (8 years, 1 month ago) by schorsch
Branch: MAIN
CVS Tags: rad5R1
Changes since 1.6: +14 -35 lines
Log Message:
reduce the number of libraries created

File Contents

# Content
1 import os
2
3 Import ('env')
4
5 # compose paths
6 def radbin(name): return os.path.join(env['RAD_BUILDBIN'], name)
7 def radlib(name): return os.path.join(env['RAD_BUILDLIB'], name)
8
9 # extra flag
10 MDIRFLAGS = env.get('CPPFLAGS', []) + [
11 '-DMDIR=\\"%s\\"' % os.path.join(env['RAD_RLIBDIR'], 'meta')]
12 bgraph = env.Object(source='bgraph.c', CPPFLAGS=MDIRFLAGS)
13 igraph = env.Object(source='igraph.c', CPPFLAGS=MDIRFLAGS)
14 dgraph = env.Object(source='dgraph.c', CPPFLAGS=MDIRFLAGS)
15 gcomp = env.Object(source='gcomp.c', CPPFLAGS=MDIRFLAGS)
16 syscalls = env.Object(source='syscalls.c', CPPFLAGS=MDIRFLAGS)
17 # used by several targets
18 mfio = env.Object(source='mfio.c')
19 misc = env.Object(source='misc.c')
20 primout = env.Object(source='primout.c')
21 plot = env.Object(source='plot.c')
22 rplot = env.Object(source='rplot.c')
23 palloc = env.Object(source='palloc.c')
24 plotin = env.Object(source='plotin.c')
25 mgvars = env.Object(source='mgvars.c')
26 mgraph = env.Object(source='mgraph.c')
27 cgraph = env.Object(source='cgraph.c')
28 gcalc = env.Object(source='gcalc.c')
29 # multiple output from same source
30
31 common = [mfio, misc, syscalls]
32
33 libmeta = env.StaticLibrary(radlib('meta'),
34 Split ('metacalls.c progname.c') +[primout] + common)
35
36 # standard targets
37 PROGS = (
38 ('meta2bmp', Split('meta2bmp.c') +[rplot, palloc, plot] + common, ['rtrad']),
39 ('meta2tga', Split('meta2tga.c') +[rplot, palloc, plot] + common, ['rtrad']),
40 ('pexpand', Split('pexpand.c expand.c segment.c') +[palloc]+ common,['rtrad']),
41 ('psort', Split('psort.c sort.c') +[palloc]+ common, ['rtrad']),
42 ('cv', Split('cv.c cvhfio.c') + common, ['rtrad']),
43 ('psmeta', Split('psmeta.c psplot.c') + common, ['rtrad']),
44 ('plotin', [plotin, primout] + common, ['rtrad']),
45 ('bgraph', [bgraph, mgraph, mgvars], ['rtrad', 'meta']),
46 ('igraph', [igraph, gcalc, cgraph, mgraph, mgvars], ['rtrad', 'meta']),
47 ('dgraph', [dgraph, cgraph, mgvars], ['rtrad']),
48 ('gcomp', [gcomp, gcalc, mgvars], ['rtrad']),
49 ('plot4', Split('plot4.c') +[primout]+ common, ['rtrad']),
50 )
51 for p in PROGS:
52 prog = env.Program(target=radbin(p[0]), source=p[1],
53 LIBS=p[2]+env['RAD_MLIB'], )
54 Default(prog)
55 env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], prog)])
56
57 # X11 targets
58 if env.has_key('X11LIB'):
59 x11meta = env.Program(radbin('x11meta'), [plotin, primout]+ common,
60 CPPPATH=env.get('CPPPATH',[])+[env['X11INCLUDE']],
61 LIBPATH=env.get('LIBPATH',[])+[env['X11LIB']],
62 LIBS=['rtrad', 'X11'] + env['RAD_MLIB'])
63 Default(x11meta)
64 env.Append(RAD_BININSTALL=[env.Install(env['RAD_BINDIR'], x11meta)])
65
66
67 # vim: set syntax=python: