Index: bin/BuildSystem/BuildSystemBase.py =================================================================== --- bin/BuildSystem/BuildSystemBase.py +++ bin/BuildSystem/BuildSystemBase.py @@ -50,7 +50,14 @@ """convencience method - runs configure() and make()""" configure = getattr(self, 'configure') make = getattr(self, 'make') - return configure() and make() + + if not configure(): + return False + + if not self.compileFast: + return make() + + return True def configureSourceDir(self): """returns source dir used for configure step""" Index: bin/EmergeBase.py =================================================================== --- bin/EmergeBase.py +++ bin/EmergeBase.py @@ -90,6 +90,10 @@ return emergeSettings.getboolean("General", "EMERGE_NOCLEAN", False ) @property + def compileFast(self): + return emergeSettings.getboolean("General", "EMERGE_COMPILEFAST", False ) + + @property def forced(self): return emergeSettings.getboolean("General", "EMERGE_FORCED", False ) Index: bin/emerge.py =================================================================== --- bin/emerge.py +++ bin/emerge.py @@ -329,6 +329,9 @@ help = "this option will try to use an existing build directory. Please handle this option with care - it will possibly break if the directory isn't existing." ) parser.add_argument( "--clean", action = "store_false", dest = "noclean", help = "oposite of --noclean" ) + parser.add_argument( "--compile-fast", action = "store_true", + default = emergeSettings.getboolean( "General", "EMERGE_COMPILEFAST", False ), + help = "skip make() entirely (useful in case of `make` and `make install` redudancy) -- handle with care" ) parser.add_argument( "--patchlevel", action = "store", default = emergeSettings.get( "General", "EMERGE_PKGPATCHLVL", "" ), help = "This will add a patch level when used together with --package" ) @@ -371,6 +374,7 @@ emergeSettings.set( "General", "WorkOffline", args.offline ) emergeSettings.set( "General", "EMERGE_NOCOPY", args.nocopy ) emergeSettings.set( "General", "EMERGE_NOCLEAN", args.noclean ) + emergeSettings.set( "General", "EMERGE_COMPILEFAST", args.compile_fast ) emergeSettings.set( "General", "EMERGE_FORCED", args.forced ) emergeSettings.set( "General", "EMERGE_BUILDTESTS", args.buildTests ) emergeSettings.set( "General", "EMERGE_BUILDTYPE", args.buildType )