senfscons: Much improved install implementation
[senf.git] / Packets / SConscript
index 9db975b..3ed13bf 100644 (file)
@@ -1,13 +1,28 @@
 # -*- python -*-
 
 Import('env')
-import SENFSCons
+import SENFSCons, glob
 
 ###########################################################################
 
-sources = SENFSCons.GlobSources()
+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, 'Packets',  sources, )
+SENFSCons.Lib(env,
+              library = 'Packets',
+              sources = SENFSCons.GlobSources(),
+              LIBS = [ 'Socket', 'Utils' ])
 SENFSCons.Doxygen(env, extra_sources = [
     env.Dia2Png("structure.dia")
-    ])
+])
+
+SConscript(glob.glob("*/SConscript"))