diff --git a/Makefile b/Makefile
index a66f0e9d474d625dcd70593ed07a7717801327b2..6ec6c416a388dd88f422f7c94709edaa780c9f7a 100644
--- a/Makefile
+++ b/Makefile
@@ -77,10 +77,10 @@ tests:: dontrun
 dontrun:
 	(cd tests; echo `grep -r 'DONTRUN' $(PLUGIN_TESTS_DIRS) | wc -l` test files marked DONTRUN )
 
-$(Frama_Clang_DIR)/gen_ast: $(Frama_Clang_DIR)/gen_ast.ml
+$(Frama_Clang_DIR)/gen_ast: $(Frama_Clang_DIR)/gen_ast.ml $(Frama_Clang_DIR)/gen_ast.cmi
 	$(PRINT_OCAMLC) $@
 	$(OCAMLC) $(Frama_Clang_BFLAGS) -o $@ -pp $(CAMLP5O) \
-        zarith.cma dynlink.cma $^
+        zarith.cma dynlink.cma $<
 
 $(Frama_Clang_DIR)/test_ast: \
   $(Frama_Clang_DIR)/intermediate_format.cmo \