diff --git a/Makefile b/Makefile
index 43fd254694a61e3a9759ed29aa9fb26dbcec6778..1f6a0c49e044db24e42e57a8f2a655d6868b941a 100644
--- a/Makefile
+++ b/Makefile
@@ -1,10 +1,10 @@
 -include Makefile.conf
 
 
-SRCDIRS = src test
-SUBDIRS = $(SRCDIRS) user-doc developer-doc regtest
+SRCDIRS := src test
+SUBDIRS := $(SRCDIRS) user-doc developer-doc regtest
 
-SUBDIRSCLEAN=$(addsuffix .clean,$(SUBDIRS))
+SUBDIRSCLEAN:=$(addsuffix .clean,$(SUBDIRS))
 
      
 .PHONY: all lib clean $(SRCDIRS) doc docclean check
diff --git a/src/Makefile b/src/Makefile
index 9c62d037addde8007e353646107f61e25661349e..17d33b58534a7afbd6c2cc524dd39970ad6137d3 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -14,8 +14,8 @@ uninstall:
 	$(MAKE) -C lib uninstall
 
 # list of all the contained directories which can be cleaned
-SUBDIRS =$(subst /Makefile,,$(wildcard */Makefile))
-SUBDIRSCLEAN=$(addsuffix .clean,$(SUBDIRS))
+SUBDIRS :=$(subst /Makefile,,$(wildcard */Makefile))
+SUBDIRSCLEAN :=$(addsuffix .clean,$(SUBDIRS))
 .PHONY: $(SUBDIRS)
 
 # this is cleaning all subdirectories
diff --git a/src/lib/Makefile b/src/lib/Makefile
index 6516928508ebc94dc17e163da65633ef3ef335d6..e84491476eec54eb27f62e1bc795e356438b0447 100644
--- a/src/lib/Makefile
+++ b/src/lib/Makefile
@@ -1,8 +1,8 @@
 # here we build the list of modules to be linked in plumedKernel
-KERNEL_MODULES=$(addprefix ../,$(shell ../maketools/find_modules.sh))
+KERNEL_MODULES := $(addprefix ../,$(shell ../maketools/find_modules.sh))
 
 # This adds modules which are built anyway and linked with some ad hoc procedure
-DIRS=$(sort ../config ../wrapper ../main  $(KERNEL_MODULES))
+DIRS := $(sort ../config ../wrapper ../main  $(KERNEL_MODULES))
 
 
 # include the machine dependent configuration
@@ -26,31 +26,31 @@ SRC_MAIN=../main/main.cpp
 
 # source for plumed kernel
 # everything else
-SRC_KERNEL=$(shell for dir in $(KERNEL_MODULES) ; do ls $$dir/*.cpp 2>/dev/null ; ls $$dir/*.c 2>/dev/null ; done) ../config/Config$(PLUMED_INSTALL).o
+SRC_KERNEL := $(shell for dir in $(KERNEL_MODULES) ; do ls $$dir/*.cpp 2>/dev/null ; ls $$dir/*.c 2>/dev/null ; done) ../config/Config$(PLUMED_INSTALL).o
 
 # corresponding objects:
-OBJ_WRAPPER=../wrapper/PlumedStatic.o
-OBJ_DYNAMIC_WRAPPER=../wrapper/Plumed.o
-OBJ_MAIN=$(SRC_MAIN:.cpp=.o)
-XXX=$(SRC_KERNEL:.cpp=.o)
-OBJ_KERNEL=$(XXX:.c=.o)
-ALL_OBJ=$(OBJ_KERNEL) $(OBJ_WRAPPER) $(OBJ_DYNAMIC_WRAPPER) $(OBJ_MAIN)
+OBJ_WRAPPER := ../wrapper/PlumedStatic.o
+OBJ_DYNAMIC_WRAPPER := ../wrapper/Plumed.o
+OBJ_MAIN := $(SRC_MAIN:.cpp=.o)
+XXX := $(SRC_KERNEL:.cpp=.o)
+OBJ_KERNEL := $(XXX:.c=.o)
+ALL_OBJ := $(OBJ_KERNEL) $(OBJ_WRAPPER) $(OBJ_DYNAMIC_WRAPPER) $(OBJ_MAIN)
 
 # plumed kernel
-PLUMED_KERNEL=$(PLUMED_LIBDIR)libplumedKernel.$(SOEXT)
+PLUMED_KERNEL := $(PLUMED_LIBDIR)libplumedKernel.$(SOEXT)
 
 # plumed library (kernel + wrapper)
-PLUMED_SHARED_OBJ=$(PLUMED_LIBDIR)libplumed.$(SOEXT)
+PLUMED_SHARED_OBJ := $(PLUMED_LIBDIR)libplumed.$(SOEXT)
 
 # plumed scripts
-PLUMED_SCRIPTS_SH=$(shell cd ../../scripts/ ; ls *.sh 2>/dev/null)
-PLUMED_SCRIPTS=$(PLUMED_SCRIPTS_SH:.sh=)
-PLUMED_SCRIPTS_EXE=$(addprefix $(PLUMED_LIBDIR)plumed-,$(PLUMED_SCRIPTS))
+PLUMED_SCRIPTS_SH := $(shell cd ../../scripts/ ; ls *.sh 2>/dev/null)
+PLUMED_SCRIPTS := $(PLUMED_SCRIPTS_SH:.sh=)
+PLUMED_SCRIPTS_EXE := $(addprefix $(PLUMED_LIBDIR)plumed-,$(PLUMED_SCRIPTS))
 
 # plumed main exec
-PLUMED_MAIN_STATIC=$(PLUMED_LIBDIR)plumed
-PLUMED_MAIN_SHARED=$(PLUMED_LIBDIR)plumed-shared
-PLUMED_MAIN_RUNTIME=$(PLUMED_LIBDIR)plumed-runtime
+PLUMED_MAIN_STATIC := $(PLUMED_LIBDIR)plumed
+PLUMED_MAIN_SHARED := $(PLUMED_LIBDIR)plumed-shared
+PLUMED_MAIN_RUNTIME := $(PLUMED_LIBDIR)plumed-runtime
 
 .PHONY: all dirs $(DIRS) all-static
 ifdef SOEXT