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