RZ

01: # SConstruct
02: DefaultEnvironment(CCFLAGS="-O3 -Wall")
03: # LINKFLAGS="-static" # -O2 -Os -finline-functions.
04: 
05: RZMagic = Object(source=['RZMagic.cc'])
06: 
07: LocalScans = Object(
08:     source=['LocalScan%s.cc'%s for s in ['MMap','Stream','Circular']]\
09:           +['ExtractLocalLookup.cc']
10: )
11: 
12: def gateway(source,*sources,**extras):
13:     NoClean(Program(source=[source+'.gateway.cc']+list(sources),**extras))
14: 
15: for s in ['FileAnalyze','FileRealize']:
16:     gateway(s,s+'.cc',RZMagic,LIBS='z')
17: 
18: gateway('Reconstitute','Reconstitute.cc',RZMagic,LIBS='z')
19: 
20: DataPacketConstants = Object(source=['DataPackets.cc'])
21: RemoteCon=[
22:     Object(source=s+'.cc') for s in [
23:         'DataPackets','ExtractRemoteCon','ConReservation','ControlRemote',
24:     ]
25: ]
26: 
27: Retriever=[Object(source='DataRemote%s.cc'%s) for s in ['Pack','Queue']]
28: 
29: gateway('DemandMediator',
30:     'DataLocalScanner.cc', 'DataRemoteController.cc',
31:     Retriever,
32:     'DemandMediator.cc', 'DemandReconstituter.cc',
33:     RZMagic, RemoteCon, LocalScans,
34: )