Fix documentation dependencies
[senf.git] / SConstruct
index b0f7742..b7484c1 100644 (file)
@@ -50,7 +50,7 @@ env.Append(
    ENV                    = { 'PATH' : os.environ.get('PATH') },
    CLEAN_PATTERNS         = [ '*~', '#*#', '*.pyc', 'semantic.cache', '.sconsign*', '.sconsign' ],
 
-   CPPPATH                = [ '#/include' ],
+   CPPPATH                = [ '#' ],
    LOCALLIBDIR            = '#',
    LIBPATH                = [ '$LOCALLIBDIR' ],
    LIBS                   = [ '$LIBSENF$LIBADDSUFFIX', 'rt', '$BOOSTREGEXLIB', 
@@ -58,11 +58,11 @@ env.Append(
    TEST_EXTRA_LIBS        = [  ],
 
    PREFIX                 = '/usr/local',
-   LIBINSTALLDIR          = '$PREFIX/lib',
-   BININSTALLDIR          = '$PREFIX/bin',
-   INCLUDEINSTALLDIR      = '$PREFIX/include',
+   LIBINSTALLDIR          = '$PREFIX',
+   BININSTALLDIR          = '$PREFIX',
+   INCLUDEINSTALLDIR      = '$PREFIX',
    OBJINSTALLDIR          = '$LIBINSTALLDIR',
-   DOCINSTALLDIR          = '$PREFIX/doc',
+   DOCINSTALLDIR          = '$PREFIX/docs',
    CPP_INCLUDE_EXTENSIONS = [ '.h', '.hh', '.ih', '.mpp', '.cci', '.ct', '.cti' ],
    CPP_EXCLUDE_EXTENSIONS = [ '.test.hh' ],
 
@@ -111,26 +111,18 @@ Export('env')
 if not os.path.exists("Doxyfile.local"):
     Execute(Touch("Doxyfile.local"))
 
-# Create local_config.h
-if not env.GetOption('clean') and not os.path.exists("local_config.hh"):
-    Execute(Touch("local_config.hh"))
-
 if not env.GetOption('clean') and not os.path.exists(".prepare-stamp") \
    and not os.environ.get("SCONS") and COMMAND_LINE_TARGETS != [ 'prepare' ]:
     env.Execute([ "scons prepare" ])
 
-# Load SConscripts. Need to load some first (they change the global environment)
-initSConscripts = [ 
-    "debian/SConscript",
-    "doclib/SConscript",
-]
-
-SConscript(initSConscripts)
-
-if os.path.exists('SConscript.local'):
-    SConscript('SConscript.local')
+# Load SConscripts
 
-SConscript(list(set(glob.glob("*/SConscript")) - set(initSConscripts)))
+SConscript("debian/SConscript")
+if os.path.exists('SConscript.local') : SConscript('SConscript.local')
+SConscript("senf/SConscript")
+SConscript("Examples/SConscript")
+SConscript("HowTos/SConscript")
+SConscript("doclib/SConscript")
 
 ###########################################################################
 # Define build targets
@@ -139,10 +131,9 @@ SConscript(list(set(glob.glob("*/SConscript")) - set(initSConscripts)))
 env.Depends(SENFSCons.Doxygen(env), env.Value(env['ENV']['REVISION']))
 
 #### libsenf.a
-libsenf = env.Library(env.subst("$LIBSENF$LIBADDSUFFIX"), env['ALLOBJECTS'])
+libsenf = env.Library("$LOCALLIBDIR/${LIBSENF}${LIBADDSUFFIX}", env['ALLOBJECTS'])
 env.Default(libsenf)
 
-env.InstallSubdir(target = '$INCLUDEINSTALLDIR', source = [ 'config.hh' ])
 env.Install('$LIBINSTALLDIR', libsenf)
 
 #### install_all, default, all_tests, all
@@ -177,6 +168,7 @@ if env.GetOption('clean'):
                        for path, subdirs, files in os.walk('.')
                        for pattern in env['CLEAN_PATTERNS']
                        for f in fnmatch.filter(files,pattern) ])
+    env.Clean('all', '.')
 
 if not env.GetOption('clean') and not os.path.exists(".prepare-stamp"):
     Execute(Touch(".prepare-stamp"))