From 822939a868a3fe91bcb1c2b6c6ac5fab15fc516d Mon Sep 17 00:00:00 2001
From: Alessio Igor Bogani <alessio.bogani@elettra.eu>
Date: Wed, 24 May 2023 11:57:24 +0200
Subject: [PATCH] Backport Voltumna trick to Make-9.3.4.in

---
 Make-9.3.4.in | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/Make-9.3.4.in b/Make-9.3.4.in
index 2907960..720c31b 100644
--- a/Make-9.3.4.in
+++ b/Make-9.3.4.in
@@ -26,12 +26,17 @@ ifeq ($(origin SDKTARGETSYSROOT),undefined)
 			CXXFLAGS += -std=c++0x
 		endif
 	else
-		CXXFLAGS += -std=c++11
+		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
 else
-	CXXFLAGS += -std=gnu++11
+	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
 
@@ -62,26 +67,26 @@ LDFLAGS += $(LIB_DIR) -ltango -lomniORB4 -lomniDynamic4 \
 #	Set dependencies
 #-----------------------------------------
 SRC_FILES += $(wildcard src/*.cpp)
-OBJ_FILES += $(addprefix obj/,$(notdir $(SRC_FILES:.cpp=.o)))
+OBJ_FILES += $(addprefix obj/$(HASHDIR),$(notdir $(SRC_FILES:.cpp=.o)))
 
-obj/%.o: $(SRC_FILES:%.cpp)
+obj/$(HASHDIR)%.o: $(SRC_FILES:%.cpp)
 	$(CXX) $(CXXFLAGS) -c -o $@ $<
 
-.nse_depinfo: $(SRC_FILES)
-	@$(CXX) $(CXXFLAGS) -M -MM $^ | sed 's/\(.*\)\.o/obj\/\1.o/g' > $@
--include .nse_depinfo
+.nse_depinfo$(POINTHASH): $(SRC_FILES)
+	@$(CXX) $(CXXFLAGS) -M -MM $^ | sed 's/\(.*\)\.o/obj\/$(HASHEDIR)\1.o/g' > $@
+-include .nse_depinfo$(POINTHASH)
 
 #-----------------------------------------
 #	 Main make entries
 #-----------------------------------------
-bin/$(NAME_SRV): bin obj $(OBJ_FILES)
+bin/$(NAME_SRV): bin obj/$(HASH) $(OBJ_FILES)
 	$(CXX) $(CXXFLAGS) $(OBJ_FILES) -o bin/$(NAME_SRV) $(LDFLAGS)
 
 clean:
-	@rm -fr obj/ bin/ core* .nse_depinfo src/*~
+	@rm -fr obj/ bin/ core* .nse_depinfo* src/*~
 
-bin obj:
-	@ test -d $@ || mkdir $@
+bin obj/$(HASH):
+	@test -d $@ || mkdir -p $@
 
 #-----------------------------------------
 #	 Target specific options
-- 
GitLab