diff --git a/src/main/java/myutil/FileUtils.java b/src/main/java/myutil/FileUtils.java
index d29e9af20759aa6097e4034dd96ce3b1e7518bbd..ab4dc4ad825256a4772e48dd7dee77743e742a29 100755
--- a/src/main/java/myutil/FileUtils.java
+++ b/src/main/java/myutil/FileUtils.java
@@ -46,6 +46,8 @@ import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.FilenameFilter;
 
+import common.ConfigurationTTool;
+
 
 /**
    * Class FileUtils
@@ -53,7 +55,7 @@ import java.io.FilenameFilter;
    * @version 1.1 01/12/2003
    * @author Ludovic APVRILLE
  */
-public class FileUtils {
+public class FileUtils extends org.apache.commons.io.FileUtils{
 
     public final static String xml = "xml";
     public final static String rtl = "lot";
@@ -90,7 +92,17 @@ public class FileUtils {
     public static boolean checkAndCreateDir(String s) throws FileException {
     	File f = new File(s);
     	try {
-    		return f.exists() ? true : f.mkdir(); 
+    		if (!f.exists())
+    			if(!f.mkdir())
+    					return false;
+    		File make = new File("../simulators/c++2/Makefile");
+    		File defs = new File("../simulators/c++2/Makefile.defs");
+    		File src = new File("../simulators/c++2/src_simulator");
+    		File dir = new File(ConfigurationTTool.SystemCCodeDirectory);
+    		FileUtils.copyFileToDirectory(make, dir, false);
+    		FileUtils.copyFileToDirectory(defs, dir, false);
+    		FileUtils.copyDirectoryToDirectory(src, dir);
+    		return true;
 		} catch (Exception e) {
 			throw new FileException(e.getMessage());
 		}
diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java
index 3b3aa4a99a1debda0c8ff85056624a0319d7ffee..5181fcad5d01ee0d49adf003bce9109e8de95139 100644
--- a/src/main/java/ui/MainGUI.java
+++ b/src/main/java/ui/MainGUI.java
@@ -2330,6 +2330,7 @@ public  class MainGUI implements ActionListener, WindowListener, KeyListener, Pe
 
     public void setDirConfig() {
     	ConfigurationTTool.SystemCCodeDirectory = dir.getAbsolutePath() + "/c++code/";
+    	ConfigurationTTool.SystemCCodeCompileCommand = "make -C " + ConfigurationTTool.SystemCCodeDirectory;
     }
     
     public void setBasicConfig() {
diff --git a/src/main/java/ui/window/JDialogSystemCGeneration.java b/src/main/java/ui/window/JDialogSystemCGeneration.java
index 703305c025773821cd853615efe32f3dd8265713..c97b0ad4662bcf80c0c10b2c2d89886cef0971b6 100755
--- a/src/main/java/ui/window/JDialogSystemCGeneration.java
+++ b/src/main/java/ui/window/JDialogSystemCGeneration.java
@@ -160,9 +160,7 @@ public class JDialogSystemCGeneration extends JDialog implements ActionListener,
 
         pathCode = _pathCode;
         
-
-        if (pathCompiler == null)
-            pathCompiler = _pathCompiler;
+        pathCompiler = _pathCompiler;
 
         if (pathExecute == null)
             pathExecute = _pathExecute;