diff --git a/Make-9.3.3.in b/Make-9.3.3.in
index 790d3f2e54b8c58c7f3b0abab9113e830b79b44b..2009263ea9fed11203beb13a1745e9a335860b00 100644
--- a/Make-9.3.3.in
+++ b/Make-9.3.3.in
@@ -28,24 +28,26 @@ ifeq ($(origin SDKTARGETSYSROOT),undefined)
 	else
 		CXXFLAGS += -std=gnu++14
 	endif
-	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} -I${ZMQ_INC} -I${RUNTIME_INC}
-	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} -L${RUNTIME_LIB} -L/usr/local/lib
+	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} \
+		-I${ZMQ_INC} -I${RUNTIME_INC}
+	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} \
+		-L${RUNTIME_LIB} -L/usr/local/lib
 else
-	HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) $(CXX) | md5sum | cut -d ' ' -f 1)
-	HASHDIR = $(HASH)/
-	HASHEDIR = $(HASH)\/
-	POINTHASH = .$(HASH)
-
 	CXXFLAGS += -std=gnu++14
 	INC_DIR = -I${SDKTARGETSYSROOT}/usr/include/tango
 endif
 
+HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) \
+	$(CXX) | md5sum | cut -d ' ' -f 1)
+HASHDIR = $(HASH)/
+HASHEDIR = $(HASH)\/
+POINTHASH = .$(HASH)
+
 #-----------------------------------------
 #	 Default make entry
 #-----------------------------------------
-default: release
-release debug: bin/$(NAME_SRV)
-all: default
+release: bin/$(NAME_SRV)
+debug: bin/$(NAME_SRV)
 
 #-----------------------------------------
 #	Set CXXFLAGS and LDFLAGS
@@ -55,34 +57,56 @@ CXXFLAGS += -D__linux__ -D__OSVERSION__=2 -Wall -pedantic \
 	$(INC_DIR) -Isrc
 
 ifeq ($(GCCMAJOR),4)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 ifeq ($(GCCMAJOR),5)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 LDFLAGS += $(LIB_DIR) -ltango -lomniORB4 -lomniDynamic4 \
 	-lCOS4 -lomnithread -lzmq
 
+ifeq ($(origin MAKECMDGOALS),undefined)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),release)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),debug)
+	CXXFLAGS += -ggdb3
+endif
+
 #-----------------------------------------
 #	Set dependencies
 #-----------------------------------------
 SRC_FILES += $(wildcard src/*.cpp)
 OBJ_FILES += $(addprefix obj/$(HASHDIR),$(notdir $(SRC_FILES:.cpp=.o)))
+MK_FILES = $(filter-out .nse_depinfo$(POINTHASH), $(MAKEFILE_LIST))
+
+obj/$(HASHDIR)%.o: $(MK_FILES)
+	$(CXX) $(CXXFLAGS) -c -o $@ $(filter %$(*F).cpp, $(SRC_FILES))
 
-obj/$(HASHDIR)%.o: $(SRC_FILES:%.cpp)
-	$(CXX) $(CXXFLAGS) -c -o $@ $<
+.nse_depinfo:
+	@touch $@
 
 .nse_depinfo$(POINTHASH): $(SRC_FILES) .nse_depinfo
-	@$(CXX) $(CXXFLAGS) -M $^ 2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' | tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+ifneq ($(MAKECMDGOALS),clean)
+	@$(CXX) $(CXXFLAGS) -M $^ \
+	2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' \
+	| tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+endif
 -include .nse_depinfo$(POINTHASH)
 
 #-----------------------------------------
 #	 Main make entries
 #-----------------------------------------
-obj/$(HASHDIR)$(NAME_SRV): bin obj/$(HASH) $(OBJ_FILES)
+obj/$(HASHDIR)$(NAME_SRV): obj/$(HASH) $(OBJ_FILES)
 	$(CXX) $(CXXFLAGS) $(OBJ_FILES) -o $@ $(LDFLAGS)
 
-bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) .nse_depinfo$(POINTHASH)
+bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) bin .nse_depinfo
 	@cp $< $@
 
 clean:
@@ -91,13 +115,4 @@ clean:
 bin obj/$(HASH):
 	@test -d $@ || mkdir -p $@
 
-#-----------------------------------------
-#	 Target specific options
-#-----------------------------------------
-release: CXXFLAGS += -O2 -DNDEBUG
-release: LDFLAGS += -s
-debug: CXXFLAGS += -ggdb3
-
-.EXTRA_PREREQS+=$(foreach mk, ${MAKEFILE_LIST},$(abspath ${mk}))
-
 .PHONY: clean
diff --git a/Make-9.3.4.in b/Make-9.3.4.in
index 7befc4218c083c2ae2a0e196550e9df0d4ee71b7..977506954d4d81468b6ad5ef6ba256aa1dd7f8ab 100644
--- a/Make-9.3.4.in
+++ b/Make-9.3.4.in
@@ -28,24 +28,26 @@ ifeq ($(origin SDKTARGETSYSROOT),undefined)
 	else
 		CXXFLAGS += -std=gnu++14
 	endif
-	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} -I${ZMQ_INC} -I${RUNTIME_INC}
-	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} -L${RUNTIME_LIB} -L/usr/local/lib
+	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} \
+		-I${ZMQ_INC} -I${RUNTIME_INC}
+	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} \
+		-L${RUNTIME_LIB} -L/usr/local/lib
 else
-	HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) $(CXX) | md5sum | cut -d ' ' -f 1)
-	HASHDIR = $(HASH)/
-	HASHEDIR = $(HASH)\/
-	POINTHASH = .$(HASH)
-
 	CXXFLAGS += -std=gnu++14
 	INC_DIR = -I${SDKTARGETSYSROOT}/usr/include/tango
 endif
 
+HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) \
+	$(CXX) | md5sum | cut -d ' ' -f 1)
+HASHDIR = $(HASH)/
+HASHEDIR = $(HASH)\/
+POINTHASH = .$(HASH)
+
 #-----------------------------------------
 #	 Default make entry
 #-----------------------------------------
-default: release
-release debug: bin/$(NAME_SRV)
-all: default
+release: bin/$(NAME_SRV)
+debug: bin/$(NAME_SRV)
 
 #-----------------------------------------
 #	Set CXXFLAGS and LDFLAGS
@@ -55,34 +57,56 @@ CXXFLAGS += -D__linux__ -D__OSVERSION__=2 -Wall -pedantic \
 	$(INC_DIR) -Isrc
 
 ifeq ($(GCCMAJOR),4)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 ifeq ($(GCCMAJOR),5)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 LDFLAGS += $(LIB_DIR) -ltango -lomniORB4 -lomniDynamic4 \
 	-lCOS4 -lomnithread -lzmq
 
+ifeq ($(origin MAKECMDGOALS),undefined)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),release)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),debug)
+	CXXFLAGS += -ggdb3
+endif
+
 #-----------------------------------------
 #	Set dependencies
 #-----------------------------------------
 SRC_FILES += $(wildcard src/*.cpp)
 OBJ_FILES += $(addprefix obj/$(HASHDIR),$(notdir $(SRC_FILES:.cpp=.o)))
+MK_FILES = $(filter-out .nse_depinfo$(POINTHASH), $(MAKEFILE_LIST))
+
+obj/$(HASHDIR)%.o: $(MK_FILES)
+	$(CXX) $(CXXFLAGS) -c -o $@ $(filter %$(*F).cpp, $(SRC_FILES))
 
-obj/$(HASHDIR)%.o: $(SRC_FILES:%.cpp)
-	$(CXX) $(CXXFLAGS) -c -o $@ $<
+.nse_depinfo:
+	@touch $@
 
 .nse_depinfo$(POINTHASH): $(SRC_FILES) .nse_depinfo
-	@$(CXX) $(CXXFLAGS) -M $^ 2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' | tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+ifneq ($(MAKECMDGOALS),clean)
+	@$(CXX) $(CXXFLAGS) -M $^ \
+	2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' \
+	| tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+endif
 -include .nse_depinfo$(POINTHASH)
 
 #-----------------------------------------
 #	 Main make entries
 #-----------------------------------------
-obj/$(HASHDIR)$(NAME_SRV): bin obj/$(HASH) $(OBJ_FILES)
+obj/$(HASHDIR)$(NAME_SRV): obj/$(HASH) $(OBJ_FILES)
 	$(CXX) $(CXXFLAGS) $(OBJ_FILES) -o $@ $(LDFLAGS)
 
-bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) .nse_depinfo$(POINTHASH)
+bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) bin .nse_depinfo
 	@cp $< $@
 
 clean:
@@ -91,13 +115,4 @@ clean:
 bin obj/$(HASH):
 	@test -d $@ || mkdir -p $@
 
-#-----------------------------------------
-#	 Target specific options
-#-----------------------------------------
-release: CXXFLAGS += -O2 -DNDEBUG
-release: LDFLAGS += -s
-debug: CXXFLAGS += -ggdb3
-
-.EXTRA_PREREQS+=$(foreach mk, ${MAKEFILE_LIST},$(abspath ${mk}))
-
 .PHONY: clean
diff --git a/Make-9.3.5.in b/Make-9.3.5.in
index a0e5375c0c2cff5477705dcad8bdc718e08b54c7..2ad9b6faf7a81297fc855af36ff56e6ad7a351b5 100644
--- a/Make-9.3.5.in
+++ b/Make-9.3.5.in
@@ -28,24 +28,26 @@ ifeq ($(origin SDKTARGETSYSROOT),undefined)
 	else
 		CXXFLAGS += -std=gnu++14
 	endif
-	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} -I${ZMQ_INC} -I${RUNTIME_INC}
-	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} -L${RUNTIME_LIB} -L/usr/local/lib
+	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} \
+		-I${ZMQ_INC} -I${RUNTIME_INC}
+	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} \
+		-L${RUNTIME_LIB} -L/usr/local/lib
 else
-	HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) $(CXX) | md5sum | cut -d ' ' -f 1)
-	HASHDIR = $(HASH)/
-	HASHEDIR = $(HASH)\/
-	POINTHASH = .$(HASH)
-
 	CXXFLAGS += -std=gnu++14
 	INC_DIR = -I${SDKTARGETSYSROOT}/usr/include/tango
 endif
 
+HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) \
+	$(CXX) | md5sum | cut -d ' ' -f 1)
+HASHDIR = $(HASH)/
+HASHEDIR = $(HASH)\/
+POINTHASH = .$(HASH)
+
 #-----------------------------------------
 #	 Default make entry
 #-----------------------------------------
-default: release
-release debug: bin/$(NAME_SRV)
-all: default
+release: bin/$(NAME_SRV)
+debug: bin/$(NAME_SRV)
 
 #-----------------------------------------
 #	Set CXXFLAGS and LDFLAGS
@@ -55,34 +57,56 @@ CXXFLAGS += -D__linux__ -D__OSVERSION__=2 -Wall -pedantic \
 	$(INC_DIR) -Isrc
 
 ifeq ($(GCCMAJOR),4)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 ifeq ($(GCCMAJOR),5)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 LDFLAGS += $(LIB_DIR) -ltango -lomniORB4 -lomniDynamic4 \
 	-lCOS4 -lomnithread -lzmq
 
+ifeq ($(origin MAKECMDGOALS),undefined)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),release)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),debug)
+	CXXFLAGS += -ggdb3
+endif
+
 #-----------------------------------------
 #	Set dependencies
 #-----------------------------------------
 SRC_FILES += $(wildcard src/*.cpp)
 OBJ_FILES += $(addprefix obj/$(HASHDIR),$(notdir $(SRC_FILES:.cpp=.o)))
+MK_FILES = $(filter-out .nse_depinfo$(POINTHASH), $(MAKEFILE_LIST))
+
+obj/$(HASHDIR)%.o: $(MK_FILES)
+	$(CXX) $(CXXFLAGS) -c -o $@ $(filter %$(*F).cpp, $(SRC_FILES))
 
-obj/$(HASHDIR)%.o: $(SRC_FILES:%.cpp)
-	$(CXX) $(CXXFLAGS) -c -o $@ $<
+.nse_depinfo:
+	@touch $@
 
 .nse_depinfo$(POINTHASH): $(SRC_FILES) .nse_depinfo
-	@$(CXX) $(CXXFLAGS) -M $^ 2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' | tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+ifneq ($(MAKECMDGOALS),clean)
+	@$(CXX) $(CXXFLAGS) -M $^ \
+	2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' \
+	| tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+endif
 -include .nse_depinfo$(POINTHASH)
 
 #-----------------------------------------
 #	 Main make entries
 #-----------------------------------------
-obj/$(HASHDIR)$(NAME_SRV): bin obj/$(HASH) $(OBJ_FILES)
+obj/$(HASHDIR)$(NAME_SRV): obj/$(HASH) $(OBJ_FILES)
 	$(CXX) $(CXXFLAGS) $(OBJ_FILES) -o $@ $(LDFLAGS)
 
-bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) .nse_depinfo$(POINTHASH)
+bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) bin .nse_depinfo
 	@cp $< $@
 
 clean:
@@ -91,13 +115,4 @@ clean:
 bin obj/$(HASH):
 	@test -d $@ || mkdir -p $@
 
-#-----------------------------------------
-#	 Target specific options
-#-----------------------------------------
-release: CXXFLAGS += -O2 -DNDEBUG
-release: LDFLAGS += -s
-debug: CXXFLAGS += -ggdb3
-
-.EXTRA_PREREQS+=$(foreach mk, ${MAKEFILE_LIST},$(abspath ${mk}))
-
 .PHONY: clean
diff --git a/Make-9.3.6.in b/Make-9.3.6.in
index 475c105155c9001c03d5663fa9a6c5531c7fa650..c96b3aa4ef66a51c1e5f7e1eb742c1bb66253999 100644
--- a/Make-9.3.6.in
+++ b/Make-9.3.6.in
@@ -28,24 +28,26 @@ ifeq ($(origin SDKTARGETSYSROOT),undefined)
 	else
 		CXXFLAGS += -std=gnu++14
 	endif
-	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} -I${ZMQ_INC} -I${RUNTIME_INC}
-	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} -L${RUNTIME_LIB} -L/usr/local/lib
+	INC_DIR = -I${TANGO_INC} -I${LOG4TANGO_INC} -I${OMNIORB_INC} \
+		-I${ZMQ_INC} -I${RUNTIME_INC}
+	LIB_DIR = -L${TANGO_LIB} -L${OMNIORB_LIB} -L${ZMQ_LIB} \
+		-L${RUNTIME_LIB} -L/usr/local/lib
 else
-	HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) $(CXX) | md5sum | cut -d ' ' -f 1)
-	HASHDIR = $(HASH)/
-	HASHEDIR = $(HASH)\/
-	POINTHASH = .$(HASH)
-
 	CXXFLAGS += -std=gnu++14
 	INC_DIR = -I${SDKTARGETSYSROOT}/usr/include/tango
 endif
 
+HASH = $(shell echo $(SDKTARGETSYSROOT) $(OECORE_DISTRO_VERSION) \
+	$(CXX) | md5sum | cut -d ' ' -f 1)
+HASHDIR = $(HASH)/
+HASHEDIR = $(HASH)\/
+POINTHASH = .$(HASH)
+
 #-----------------------------------------
 #	 Default make entry
 #-----------------------------------------
-default: release
-release debug: bin/$(NAME_SRV)
-all: default
+release: bin/$(NAME_SRV)
+debug: bin/$(NAME_SRV)
 
 #-----------------------------------------
 #	Set CXXFLAGS and LDFLAGS
@@ -55,34 +57,56 @@ CXXFLAGS += -D__linux__ -D__OSVERSION__=2 -Wall -pedantic \
 	$(INC_DIR) -Isrc
 
 ifeq ($(GCCMAJOR),4)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 ifeq ($(GCCMAJOR),5)
-    CXXFLAGS += -Wextra
+	CXXFLAGS += -Wextra
 endif
 LDFLAGS += $(LIB_DIR) -ltango -lomniORB4 -lomniDynamic4 \
 	-lCOS4 -lomnithread -lzmq
 
+ifeq ($(origin MAKECMDGOALS),undefined)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),release)
+	CXXFLAGS += -O2 -DNDEBUG
+	LDFLAGS += -s
+endif
+
+ifeq ($(MAKECMDGOALS),debug)
+	CXXFLAGS += -ggdb3
+endif
+
 #-----------------------------------------
 #	Set dependencies
 #-----------------------------------------
 SRC_FILES += $(wildcard src/*.cpp)
 OBJ_FILES += $(addprefix obj/$(HASHDIR),$(notdir $(SRC_FILES:.cpp=.o)))
+MK_FILES = $(filter-out .nse_depinfo$(POINTHASH), $(MAKEFILE_LIST))
+
+obj/$(HASHDIR)%.o: $(MK_FILES)
+	$(CXX) $(CXXFLAGS) -c -o $@ $(filter %$(*F).cpp, $(SRC_FILES))
 
-obj/$(HASHDIR)%.o: $(SRC_FILES:%.cpp)
-	$(CXX) $(CXXFLAGS) -c -o $@ $<
+.nse_depinfo:
+	@touch $@
 
 .nse_depinfo$(POINTHASH): $(SRC_FILES) .nse_depinfo
-	@$(CXX) $(CXXFLAGS) -M $^ 2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' | tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+ifneq ($(MAKECMDGOALS),clean)
+	@$(CXX) $(CXXFLAGS) -M $^ \
+	2>/dev/null | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' \
+	| tee .nse_depinfo > .nse_depinfo$(POINTHASH)
+endif
 -include .nse_depinfo$(POINTHASH)
 
 #-----------------------------------------
 #	 Main make entries
 #-----------------------------------------
-obj/$(HASHDIR)$(NAME_SRV): bin obj/$(HASH) $(OBJ_FILES)
+obj/$(HASHDIR)$(NAME_SRV): obj/$(HASH) $(OBJ_FILES)
 	$(CXX) $(CXXFLAGS) $(OBJ_FILES) -o $@ $(LDFLAGS)
 
-bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) .nse_depinfo$(POINTHASH)
+bin/$(NAME_SRV): obj/$(HASHDIR)$(NAME_SRV) bin .nse_depinfo
 	@cp $< $@
 
 clean:
@@ -91,13 +115,4 @@ clean:
 bin obj/$(HASH):
 	@test -d $@ || mkdir -p $@
 
-#-----------------------------------------
-#	 Target specific options
-#-----------------------------------------
-release: CXXFLAGS += -O2 -DNDEBUG
-release: LDFLAGS += -s
-debug: CXXFLAGS += -ggdb3
-
-.EXTRA_PREREQS+=$(foreach mk, ${MAKEFILE_LIST},$(abspath ${mk}))
-
 .PHONY: clean