Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.defs
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.defs	(revision 24)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/Makefile.defs	(revision 25)
@@ -6,4 +6,4 @@
 
 #-----[ Directory ]----------------------------------------
-DIR_COMPONENT_MORPHEO           = ../
+DIR_COMPONENT_MORPHEO           = ..
 DIR_MORPHEO                     = $(DIR_COMPONENT)/$(DIR_COMPONENT_MORPHEO)
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Direction.h
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Direction.h	(revision 25)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Direction.h	(revision 25)
@@ -0,0 +1,29 @@
+#ifdef VHDL
+
+#ifndef morpheo_behavioural_Direction_h
+#define morpheo_behavioural_Direction_h
+
+#include "Include/ToString.h"
+
+namespace morpheo              {
+namespace behavioural          {
+
+typedef enum { IN, OUT, INOUT } direction_t;
+
+}; // end namespace behavioural          
+  
+template<>           inline std::string toString<morpheo::behavioural::direction_t>(const morpheo::behavioural::direction_t& x)
+{
+  switch (x)
+    {
+    case morpheo::behavioural::IN    : return "in"    ; break;
+    case morpheo::behavioural::OUT   : return "out"   ; break;
+    case morpheo::behavioural::INOUT : return "inout" ; break;
+    default    : return ""      ; break;
+    }
+}
+
+}; // end namespace morpheo              
+
+#endif
+#endif
Index: /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl.h
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl.h	(revision 24)
+++ /trunk/IPs/systemC/processor/Morpheo/Behavioural/include/Vhdl.h	(revision 25)
@@ -14,4 +14,5 @@
 #include <iostream>
 #include <list>
+#include "Behavioural/include/Direction.h"
 #include "Include/ToString.h"
 #include "Include/Debug.h"
@@ -21,6 +22,4 @@
 namespace morpheo              {
 namespace behavioural          {
-
-  typedef enum { IN, OUT, INOUT } direction_t;
 
   string std_logic        (uint32_t size);
Index: unk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_direction_toString.cpp
===================================================================
--- /trunk/IPs/systemC/processor/Morpheo/Behavioural/src/Vhdl_direction_toString.cpp	(revision 24)
+++ 	(revision )
@@ -1,32 +1,0 @@
-#ifdef VHDL
-
-/*
- * $Id$
- *
- * [ Description ]
- * 
- */
-
-#include "Behavioural/include/Vhdl.h"
-
-#include <sstream>
-using namespace std;
-
-namespace morpheo              {
-namespace behavioural          {
-  
-  string Vhdl::direction_toString (direction_t direction)
-  {
-    switch (direction)
-      {
-      case IN    : return "in    "; break;
-      case OUT   : return "out   "; break;
-      case INOUT : return "inout "; break;
-      }
-    return "";
-  };
-  
-}; // end namespace behavioural          
-}; // end namespace morpheo              
-
-#endif
