diff --git a/tools/cookbook/SConscript b/tools/cookbook/SConscript
index 4fef087f09186a66b210cc1d421ff3e59f9c473b..4ba969b06445e249bc99e39c0c9a1dbd5554367f 100644
--- a/tools/cookbook/SConscript
+++ b/tools/cookbook/SConscript
@@ -19,23 +19,25 @@ cpppath='''
 pgms = {}
 ppgms = []
 
-pgms["instructioncountdriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/instructioncount.cpp", Dir('.').srcnode().abspath+"/instructioncountdriver.cpp",Dir('.').srcnode().abspath+"/x86_64_linux/cookbook.cpp",)
+pgms["instructioncountdriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/instructioncount.cpp", Dir('.').srcnode().abspath+"/instructioncountdriver.cpp",)
 
-pgms["functioncalldriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/functioncall.cpp", Dir('.').srcnode().abspath+"/functioncalldriver.cpp",Dir('.').srcnode().abspath+"/x86_64_linux/cookbook.cpp",)
+pgms["functioncalldriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/functioncall.cpp", Dir('.').srcnode().abspath+"/functioncalldriver.cpp",)
 
-pgms["whitelistdriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/whitelist.cpp", Dir('.').srcnode().abspath+"/whitelistdriver.cpp",Dir('.').srcnode().abspath+"/x86_64_linux/cookbook.cpp",)
+pgms["whitelistdriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/whitelist.cpp", Dir('.').srcnode().abspath+"/whitelistdriver.cpp",)
 
-pgms["checkwhitelistdriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/checkwhitelist.cpp", Dir('.').srcnode().abspath+"/checkwhitelistdriver.cpp",Dir('.').srcnode().abspath+"/x86_64_linux/cookbook.cpp",)
+pgms["checkwhitelistdriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/checkwhitelist.cpp", Dir('.').srcnode().abspath+"/checkwhitelistdriver.cpp",)
 
-pgms["logdriver.exe"] = (Dir('.').srcnode().abspath+"/logdriver.cpp",Dir('.').srcnode().abspath+"/x86_64_linux/cookbook.cpp",)
+pgms["logdriver.exe"] = (Dir('.').srcnode().abspath+"/logdriver.cpp",)
 
-pgms["syscalldriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/syscall.cpp", Dir('.').srcnode().abspath+"/syscalldriver.cpp",Dir('.').srcnode().abspath+"/x86_64_linux/cookbook.cpp",)
-
-LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
-LIBS=Split( env.subst('$BASE_IRDB_LIBS')+ " xform IRDB-core IRDB-cfg IRDB-util pqxx BeaEngine_s_d rewrite transform MEDSannotation") 
+pgms["syscalldriver.exe"] = (Dir('.').srcnode().abspath+"/x86_64_linux/syscall.cpp", Dir('.').srcnode().abspath+"/syscalldriver.cpp")
 
 myenv=myenv.Clone(CPPPATH=Split(cpppath))
 
+cookbook_obj = myenv.Object(Dir('.').srcnode().abspath+"/x86_64_linux/cookbook.cpp")
+
+LIBPATH="$SECURITY_TRANSFORMS_HOME/lib"
+LIBS=cookbook_obj + Split( env.subst('$BASE_IRDB_LIBS')+ " xform IRDB-core IRDB-cfg IRDB-util pqxx BeaEngine_s_d rewrite transform MEDSannotation") 
+
 for pgm in pgms.keys():
 	ppgms.append(myenv.Program(pgm,  pgms[pgm],  LIBPATH=LIBPATH, LIBS=LIBS))