From ae2db69b05375438006da313bb428ab5e02f72f9 Mon Sep 17 00:00:00 2001 From: Alessio Igor Bogani <alessio.bogani@elettra.eu> Date: Thu, 3 Aug 2023 12:04:21 +0200 Subject: [PATCH] Simplify makefiles avoid new features --- Make-9.3.3.in | 67 +++++++++++++++++++++++++++++++-------------------- Make-9.3.4.in | 67 +++++++++++++++++++++++++++++++-------------------- Make-9.3.5.in | 67 +++++++++++++++++++++++++++++++-------------------- Make-9.3.6.in | 67 +++++++++++++++++++++++++++++++-------------------- 4 files changed, 164 insertions(+), 104 deletions(-) diff --git a/Make-9.3.3.in b/Make-9.3.3.in index 790d3f2..2009263 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 7befc42..9775069 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 a0e5375..2ad9b6f 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 475c105..c96b3aa 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 -- GitLab