diff --git a/modules/RulesPrecisions.cmake b/modules/RulesPrecisions.cmake
index c615b5a558a89f8ae00c77352501860a55dd0207..df7c9c3b834c3c0ae43ba226c41e959e8eae063c 100644
--- a/modules/RulesPrecisions.cmake
+++ b/modules/RulesPrecisions.cmake
@@ -38,9 +38,13 @@ set(RP_DEFAULT_DICTIONNARY ${MORSE_CMAKE_MODULE_PATH}/precision_generator/subs.p
 # -----------
 if( NOT DEFINED RP_${CMAKE_PROJECT_NAME}_DICTIONNARY )
   message( WARNING "RulesPrecisions included before RP_${CMAKE_PROJECT_NAME}_DICTIONNARY was defined (Only the default one is used)" )
+  set( RP_DICTIONNARIES ""
+    CACHE INTERNAL "List of Dictionnaries to use for precision generation" )
 else()
   set(RP_${CMAKE_PROJECT_NAME}_DICTIONNARY ${RP_${CMAKE_PROJECT_NAME}_DICTIONNARY}
     CACHE INTERNAL "Dictionnary used for precision generation" )
+  set( RP_DICTIONNARIES ${RP_${CMAKE_PROJECT_NAME}_DICTIONNARY}
+    CACHE INTERNAL "List of Dictionnaries to use for precision generation" )
 endif()
 
 # Default Precisions
@@ -193,6 +197,7 @@ MACRO(precisions_rules_py)
   message( DEBUG "[RP] PRECISIONPP_arg      ${PRECISIONPP_arg}")
   message( DEBUG "[RP] PRECISIONPP_prefix   ${PRECISIONPP_prefix}")
   message( DEBUG "[RP] PREC_RULE_PRECISIONS ${PREC_RULE_PRECISIONS}")
+  message( DEBUG "[RP] DICTIONNARIES        ${RP_DICTIONNARIES}")
 
   set(options_list "")
   foreach(prec_rules_PREC ${PREC_RULE_PRECISIONS})
@@ -205,8 +210,8 @@ MACRO(precisions_rules_py)
   endforeach()
 
   set( gencmd ${Python3_EXECUTABLE} ${RP_CODEGEN} -c -f "${sources_list}" -p "${options_list}" -s "${CMAKE_CURRENT_SOURCE_DIR}" -b "${CMAKE_CURRENT_BINARY_DIR}" ${PRECISIONPP_arg} ${PRECISIONPP_prefix} )
-  if( DEFINED RP_${CMAKE_PROJECT_NAME}_DICTIONNARY )
-    set( gencmd ${gencmd} -D "${RP_${CMAKE_PROJECT_NAME}_DICTIONNARY}" )
+  if( DEFINED RP_DICTIONNARIES )
+    set( gencmd ${gencmd} -D "${RP_DICTIONNARIES}" )
   endif()
 
   message( DEBUG "[RP] gen command ${gencmd}")
@@ -224,8 +229,8 @@ MACRO(precisions_rules_py)
       set(_dependency_OUTPUT "${CMAKE_MATCH_3}")
 
       set(pythoncmd ${Python3_EXECUTABLE} ${RP_CODEGEN} -g -f ${CMAKE_CURRENT_SOURCE_DIR}/${_dependency_INPUT} -b "${CMAKE_CURRENT_BINARY_DIR}" -p ${_dependency_PREC} ${PRECISIONPP_arg} ${PRECISIONPP_prefix})
-      if( DEFINED RP_${CMAKE_PROJECT_NAME}_DICTIONNARY )
-        set( pythoncmd ${pythoncmd} -D "${RP_${CMAKE_PROJECT_NAME}_DICTIONNARY}" )
+      if( DEFINED RP_DICTIONNARIES )
+        set( pythoncmd ${pythoncmd} -D "${RP_DICTIONNARIES}" )
       endif()
 
       string(STRIP "${_dependency_OUTPUT}" _dependency_OUTPUT)
@@ -252,7 +257,7 @@ MACRO(precisions_rules_py)
 	  ADD_CUSTOM_COMMAND(
 	    OUTPUT ${_dependency_OUTPUT}
 	    COMMAND ${CMAKE_COMMAND} -E remove -f ${_dependency_OUTPUT} && ${pythoncmd} && chmod a-w ${_dependency_OUTPUT}
-	    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_dependency_INPUT} ${RP_CODEGEN} ${RP_${CMAKE_PROJECT_NAME}_DICTIONNARY} ${RP_DEFAULT_DICTIONNARY} )
+	    DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_dependency_INPUT} ${RP_CODEGEN} ${RP_DICTIONNARIES} ${RP_DEFAULT_DICTIONNARY} )
           set_source_files_properties(${_dependency_OUTPUT} PROPERTIES COMPILE_FLAGS ${_compile_flags} GENERATED 1 IS_IN_BINARY_DIR 1 )
 	else( generate_out )
           set_source_files_properties(${_dependency_OUTPUT} PROPERTIES COMPILE_FLAGS ${_compile_flags} GENERATED 0 )