diff --git a/share/analysis-scripts/analysis.mk b/share/analysis-scripts/analysis.mk
index efd490547fd5d2a845e32509a9fdcb200058a2b7..ce74dd9b377d23b5faa325622a5bc2849813e5fe 100644
--- a/share/analysis-scripts/analysis.mk
+++ b/share/analysis-scripts/analysis.mk
@@ -30,6 +30,8 @@
 # FRAMAC_GUI    frama-c gui binary
 # IVETTE        ivette binary
 # CPPFLAGS      preprocessing flags
+# PARSEFLAGS    other preprocessing and parsing flags
+#               (e.g. -cpp-extra-args-per-file)
 # MACHDEP       machdep
 # FCFLAGS       general flags to use with frama-c
 # FCGUIFLAGS    flags to use with frama-c-gui
@@ -126,6 +128,7 @@ EVAFLAGS   ?= \
   $(if $(EVABUILTINS), -eva-builtin=$(call fc_list,$(EVABUILTINS)),) \
   $(if $(EVAUSESPECS), -eva-use-spec $(call fc_list,$(EVAUSESPECS)),)
 WPFLAGS    ?=
+PARSEFLAGS ?=
 FCFLAGS    ?=
 FCGUIFLAGS ?=
 IVETTEFLAGS ?=
@@ -161,6 +164,7 @@ SHELL        := $(shell which bash)
 
 %.parse: SOURCES = $(filter-out %/command,$^)
 %.parse: PARSE = $(FRAMAC) \
+                 $(PARSEFLAGS) \
                  $(FCFLAGS) \
                  $(if $(value MACHDEP),-machdep $(MACHDEP),) \
                  -cpp-extra-args="$(CPPFLAGS)" $(SOURCES) \
diff --git a/share/analysis-scripts/template.mk b/share/analysis-scripts/template.mk
index 5bb66c93cafd471121724afe77056abec5259b46..8df6a17fa54710ab821c8b8e60457c114092be60 100644
--- a/share/analysis-scripts/template.mk
+++ b/share/analysis-scripts/template.mk
@@ -42,6 +42,9 @@ MACHDEP = x86_64
 ## Preprocessing flags (for -cpp-extra-args)
 CPPFLAGS    += \
 
+## Other preprocessing and parsing flags (e.g. -cpp-extra-args-per-file)
+PARSEFLAGS    += \
+
 ## General flags
 FCFLAGS     += \
   -add-symbolic-path=..:. \