diff --git a/Makefile b/Makefile
index 37c3da5a201019b65b9f656d67a405db99cdac60..d1a85afe8d34454d550cad9599f858eaac87e3e8 100644
--- a/Makefile
+++ b/Makefile
@@ -44,7 +44,7 @@ all-recursive:
 	make -C macro
 
 $(DYNARE_M): $(OBJS) macro/libmacro.a
-	$(CPP) $(CPPFLAGS) -o $(DYNARE_M) $(OBJS) -Lmacro -lmacro
+	$(CXX) $(CXXFLAGS) -o $(DYNARE_M) $(OBJS) -Lmacro -lmacro
 	cp $(DYNARE_M) ../matlab/
 
 
diff --git a/Makefile.include b/Makefile.include
index a1e03a4e92ef61090a6217ffa7124b00a77ca671..0a3cdbc46175b2d5d8075e428760ed30216b9100 100644
--- a/Makefile.include
+++ b/Makefile.include
@@ -1,34 +1,31 @@
-AR = ar
-CPP = g++
-
-CPPFLAGS = -Wall
+CXXFLAGS = -Wall
 
 ifeq ($(shell uname -o), Cygwin)
 	# Detection of uninitialized variables is buggy in Cygwin and generates spurious warnings
-	CPPFLAGS += -Wno-uninitialized
-	CPPFLAGS += -mno-cygwin
+	CXXFLAGS += -Wno-uninitialized
+	CXXFLAGS += -mno-cygwin
 endif
 
 ifeq ($(CROSS_WIN32), yes)
-	CPP = i586-mingw32msvc-g++
+	CXX = i586-mingw32msvc-g++
 	AR = i586-mingw32msvc-ar
 	# Detection of uninitialized variables is buggy in MinGW and generates spurious warnings
-	CPPFLAGS += -Wno-uninitialized
+	CXXFLAGS += -Wno-uninitialized
 endif
 
 ifeq ($(DEBUG),yes)
-	CPPFLAGS += -ggdb
+	CXXFLAGS += -ggdb
 else
-	CPPFLAGS += -O3
+	CXXFLAGS += -O3
 endif
 
 ifeq ($(VALGRIND), yes)
-	CPPFLAGS = -Wall -O -g -fno-inline
+	CXXFLAGS = -Wall -O -g -fno-inline
 endif
 
 # General rule for compilation
 %.o : %.cc
-	$(CPP) $(CPPFLAGS) -MD -I include -c $<
+	$(CXX) $(CXXFLAGS) -MD -I include -c $<
 	@cp $*.d $*.P; \
 	  sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \
 	      -e '/^$$/ d' -e 's/$$/ :/' < $*.d >> $*.P; \