senfscons: Much improved install implementation
[senf.git] / Packets / SConscript
index 27f0650..3ed13bf 100644 (file)
@@ -5,15 +5,22 @@ 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 ]))
 
-SENFSCons.StandardTargets(env)
+###########################################################################
+
+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 = sources,
+              sources = SENFSCons.GlobSources(),
               LIBS = [ 'Socket', 'Utils' ])
-
 SENFSCons.Doxygen(env, extra_sources = [
     env.Dia2Png("structure.dia")
 ])