diff --git a/driver/Driver.ml b/driver/Driver.ml
index d7c93641f13ba1f409768fc76fe6460dcea82db6..255b60047d492f1611829fc98a2f3ab13fffd352 100644
--- a/driver/Driver.ml
+++ b/driver/Driver.ml
@@ -294,6 +294,9 @@ let cmdline_actions =
   let f_opt name ref =
     ["-f" ^ name ^ "$", Set ref; "-fno-" ^ name ^ "$", Unset ref] in
   [
+  "-I$", String(fun s -> prepro_options := s :: "-I" :: !prepro_options);
+  "-D$", String(fun s -> prepro_options := s :: "-D" :: !prepro_options);
+  "-U$", String(fun s -> prepro_options := s :: "-U" :: !prepro_options);
   "-[IDU].", Self(fun s -> prepro_options := s :: !prepro_options);
   "-[lL].", Self(fun s -> linker_options := s :: !linker_options);
   "-o$", String(fun s -> exe_name := s);