Index: trunk/Softwares/SPECINT2000/src/c/benchmark.c
===================================================================
--- trunk/Softwares/SPECINT2000/src/c/benchmark.c	(revision 119)
+++ trunk/Softwares/SPECINT2000/src/c/benchmark.c	(revision 138)
@@ -9,15 +9,37 @@
 #endif
 
-//#define SPEC_DATA "ref"
-  #define SPEC_DATA "test"
-//#define SPEC_DATA "train"
-
+#if !defined(SPECINT2000_TEST) && !defined(SPECINT2000_TRAIN) && !defined(SPECINT2000_REF)
+# error "SPECINT2000_TEST, SPECINT2000_TRAIN or SPECINT2000_REF must be defined"
+#endif
+
+#if defined(SPECINT2000_TEST)
+# error "SPECINT2000_TEST not yet supported"
+#endif
+
+#if defined(SPECINT2000_REF)
+# error "SPECINT2000_REF not yet supported"
+#endif
+
+#ifdef SPEC_gzip
 int main_164_gzip   (int argc, char * argv[]);
+#endif
+#ifdef SPEC_vpr
 int main_175_vpr    (int argc, char * argv[]);
+#endif
+#ifdef SPEC_gcc
 int main_176_gcc    (int argc, char * argv[]);
+#endif
+#ifdef SPEC_mcf
 int main_181_mcf    (int argc, char * argv[]);
+#endif
+#ifdef SPEC_vortex
 int main_255_vortex (int argc, char * argv[]);
+#endif
+#ifdef SPEC_bzip
 int main_256_bzip2  (int argc, char * argv[]);
+#endif
+#ifdef SPEC_twolf
 int main_300_twolf  (int argc, char * argv[]);
+#endif
 
 //=======================================================================================
@@ -33,8 +55,8 @@
 //                                                                  [ run_164_gzip ]
 //=======================================================================================
-void run_164_gzip ()
-{								                                          
-  printf("***** 164.gzip - Begin *****\n");
-
+#ifdef SPECINT2000_TRAIN
+void main_164_gzip_train ()
+{
+#ifdef SPEC_gzip
   int     argc = 4;
   char ** argv;
@@ -83,14 +105,27 @@
 
   free(filename);
-  
+#endif
+}
+#endif
+
+void run_164_gzip ()
+{
+  printf("***** 164.gzip - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+  main_164_gzip_train ();
+#endif
+
   printf("***** 164.gzip - End   *****\n");
-}								                                          
+}
 
 //=======================================================================================
 //                                                                   [ run_175_vpr ]
 //=======================================================================================
-void run_175_vpr ()
-{
-  printf("***** 175.vpr - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+void main_175_vpr_train ()
+{
+#ifdef SPEC_vpr
 
 #define   nb_option_175_vpr 12
@@ -208,13 +243,26 @@
   free(routed_out );
 
+#endif
+}
+#endif
+
+void run_175_vpr ()
+{
+  printf("***** 175.vpr - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+  main_175_vpr_train ();
+#endif
+
   printf("***** 175.vpr - End   *****\n");
-}								                                          
+}
 
 //=======================================================================================
 //                                                                   [ run_176_gcc ]
 //=======================================================================================
-void run_176_gcc ()
-{
-  printf("***** 176.gcc - Begin *****\n");
+#ifdef SPECINT2000_TRAIN
+void main_176_gcc_train ()
+{
+#ifdef SPEC_gcc
 
 #define   nb_option_176_gcc 2
@@ -294,13 +342,27 @@
   free(filename);
   
+#endif
+}
+#endif
+                     
+void run_176_gcc ()
+{
+  printf("***** 176.gcc - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+  main_176_gcc_train ();
+#endif
+
   printf("***** 176.gcc - End   *****\n");
-}								                                          
+}
+
 
 //=======================================================================================
 //                                                                   [ run_181_mcf ]
 //=======================================================================================
-void run_181_mcf ()
-{								                                          
-  printf("***** 181.mcf - Begin *****\n");
+#ifdef SPECINT2000_TRAIN
+void main_181_mcf_train ()
+{
+#ifdef SPEC_mcf
   
   int     argc = 2;
@@ -334,13 +396,26 @@
   free(filename);
   
+#endif
+}
+#endif
+
+void run_181_mcf ()
+{
+  printf("***** 181.mcf - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+  main_181_mcf_train ();
+#endif
+
   printf("***** 181.mcf - End   *****\n");
-}								                                          
+}
 
 //=======================================================================================
 //                                                                [ run_255_vortex ]
 //=======================================================================================
-void run_255_vortex ()
-{								                                          
-  printf("***** 255.vortex - Begin *****\n");
+#ifdef SPECINT2000_TRAIN
+void main_255_vortex_train ()
+{
+#ifdef SPEC_vortex
   
   int     argc = 2;
@@ -348,5 +423,14 @@
 
   char  * execname        = "./vortex";
+#if defined(MORPHEO)
   char  *_filename        = "/255.vortex/data/test/input/bendian.raw";
+#else
+# if (defined(EV67) || defined(x86))
+  char  *_filename        = "/255.vortex/data/test/input/lendian.raw";
+# else
+#  error "Unknow target"
+# endif
+#endif
+
   char  * filename        = (char *) malloc(strlen(SPECINT2000_PATH)+strlen(_filename));
   strcpy(filename,SPECINT2000_PATH); strcat(filename,_filename);
@@ -373,13 +457,26 @@
   free(filename);
   
+#endif
+}
+#endif
+
+void run_255_vortex ()
+{
+  printf("***** 255.vortex - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+  main_255_vortex_train ();
+#endif
+
   printf("***** 255.vortex - End   *****\n");
-}								                                          
+}
  
 //=======================================================================================
 //                                                                 [ run_256_bzip2 ]
 //=======================================================================================
-void run_256_bzip2 ()
-{								                                          
-  printf("***** 256.bzip2 - Begin *****\n");
+#ifdef SPECINT2000_TRAIN
+void main_256_bzip2_train ()
+{
+#ifdef SPEC_bzip
 
   int     argc = 4;
@@ -429,4 +526,16 @@
   free(filename);
   
+#endif
+}
+#endif
+
+void run_256_bzip2 ()
+{
+  printf("***** 256.bzip2 - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+  main_256_bzip2_train ();
+#endif
+
   printf("***** 256.bzip2 - End   *****\n");
 }
@@ -435,7 +544,8 @@
 //                                                                 [ run_300_twolf ]
 //=======================================================================================
-void run_300_twolf ()
-{								                                          
-  printf("***** 300.twolf - Begin *****\n");
+#ifdef SPECINT2000_TRAIN
+void main_300_twolf_train ()
+{
+#ifdef SPEC_twolf
 
   int     argc = 2;
@@ -443,6 +553,6 @@
 
   char  * execname        = "./twolf";
-  char  *_circuitName        = "/300.twolf/data/test/input/test";
-  char  * circuitName        = (char *) malloc(strlen(SPECINT2000_PATH)+strlen(_circuitName));
+  char  *_circuitName     = "/300.twolf/data/test/input/test";
+  char  * circuitName     = (char *) malloc(strlen(SPECINT2000_PATH)+strlen(_circuitName));
   strcpy(circuitName,SPECINT2000_PATH); strcat(circuitName,_circuitName);
 
@@ -468,39 +578,16 @@
   free(circuitName);
   
+#endif
+}
+#endif
+
+void run_300_twolf ()
+{
+  printf("***** 300.twolf - Begin *****\n");
+
+#ifdef SPECINT2000_TRAIN
+  main_300_twolf_train ();
+#endif
+
   printf("***** 300.twolf - End   *****\n");
 }
-
-/*
-//=======================================================================================
-//                                                                    [ run_dhry21 ]
-//=======================================================================================
-void run_dhry21 ()
-{								                                          
-  printf("***** dhry2.1 - Begin *****\n");
-
-  int     argc = 2;
-  char ** argv;
-
-  char * execname        = "./dhry21";
-  char * numberOfRuns    = "2000";
-
-  // Create the arguments
-  if (argc != 2)
-    {
-      printf("Usage : dhry21 numberOfRuns\n");
-      return;
-    }
-    
-  argv    = (char **)malloc (argc * sizeof(char *));
-  
-  argv[0] = (char *) malloc (strlen(execname       ));
-  argv[0] = memcpy(argv[0],execname        ,strlen(execname       ));
-  argv[1] = (char *) malloc (strlen(numberOfRuns   ));
-  argv[1] = memcpy(argv[1],numberOfRuns    ,strlen(numberOfRuns   ));
-  
-  // Run the benchmark
-  main_dhry21 (argc,argv);
-
-  printf("***** dhry2.1 - End   *****\n");
-}
-*/
Index: trunk/Softwares/SPECINT2000/src/c/main.c
===================================================================
--- trunk/Softwares/SPECINT2000/src/c/main.c	(revision 119)
+++ trunk/Softwares/SPECINT2000/src/c/main.c	(revision 138)
@@ -16,4 +16,5 @@
 int main()
 {
+#ifdef MORPHEO
   int pid = (int)getpid();
   
@@ -25,4 +26,10 @@
   else
     printf("The number of function in the workload is %d. (maximum of thread is : %d)\n",(int)NB_WORKLOAD,NB_THREAD_MAX);
+#endif
+
+#ifdef UNIX
+  for (int i=0; i<(int)NB_WORKLOAD; ++i)
+    (*WorkLoad[i])();
+#endif
     
   exit (0);
