senfscons: Much improved install implementation
[senf.git] / Packets / SConscript
index 38ee2ba..3ed13bf 100644 (file)
@@ -1,13 +1,28 @@
 # -*- python -*-
 
 Import('env')
-import SatSCons
+import SENFSCons, glob
 
 ###########################################################################
 
-sources = SatSCons.GlobSources()
-SatSCons.StandardTargets(env)
-SatSCons.Lib(env, 'Packets',  sources, )
-SatSCons.Doxygen(env,sources,SatSCons.DoxyGlob(),
-                image = [ "structure.dia" ])
-    
+def makeAllIncludesHH(target, headers):
+    file(env.File(target).abspath,"w").write("".join([ '#include "%s"\n' % f
+                                                       for f in headers ]))
+
+###########################################################################
+
+source_headers = [ f for f in glob.glob("*.hh")
+                   if 'defined(SENF_PACKETS_DECL_ONLY)' in file(f).read() ]
+source_headers.sort()
+makeAllIncludesHH('all_includes.hh', source_headers)
+
+SENFSCons.StandardTargets(env)
+SENFSCons.Lib(env,
+              library = 'Packets',
+              sources = SENFSCons.GlobSources(),
+              LIBS = [ 'Socket', 'Utils' ])
+SENFSCons.Doxygen(env, extra_sources = [
+    env.Dia2Png("structure.dia")
+])
+
+SConscript(glob.glob("*/SConscript"))