Update to latest changes. maybe broken release target

This commit is contained in:
rexy712 2019-12-21 10:38:05 -08:00
parent 3d5fe6a4ff
commit 8d3e059a9c

View File

@ -27,6 +27,7 @@ INCLUDE_DIRS::=include
CXXFLAGS::=-g -std=c++17 -Wall -pedantic -Wextra CXXFLAGS::=-g -std=c++17 -Wall -pedantic -Wextra
EXT::=cpp EXT::=cpp
MAIN_EXECUTABLE::=tester MAIN_EXECUTABLE::=tester
RELEASE?=0
ifneq ($(WINDOWS),1) ifneq ($(WINDOWS),1)
CXX::=g++ CXX::=g++
@ -48,11 +49,15 @@ else
MAIN_EXECUTABLE::=$(MAIN_EXECUTABLE).exe MAIN_EXECUTABLE::=$(MAIN_EXECUTABLE).exe
endif endif
all: CXXFLAGS+=-O0 ifeq ($(RELEASE),1)
release: CXXFLAGS+=-O2 #a lot of false strict aliasing warnings from gcc 9
CXXFLAGS+=-O2 -Wno-strict-aliasing
memchk: LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls else ifeq ($(MEMCHK),1)
memchk: CXXFLAGS+=-O0 -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls LDFLAGS+=-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
CXXFLAGS+=-O0 -g3 -ggdb -fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls
else
CXXFLAGS+=-O0 -g3 -ggdb
endif
ifeq ($(OS),Windows_NT) ifeq ($(OS),Windows_NT)
mkdir=mkdir $(subst /,\,$(1)) > NUL 2>&1 mkdir=mkdir $(subst /,\,$(1)) > NUL 2>&1
@ -74,17 +79,14 @@ OBJECTS::=$(addprefix $(OBJDIR)/,$(subst \,.,$(subst /,.,$(addsuffix .o,$(SOURCE
.PHONY: all .PHONY: all
all: $(MAIN_EXECUTABLE) all: $(MAIN_EXECUTABLE)
.PHONY: memchk ifeq ($(RELEASE),1)
memchk: all $(CXX) $(LDFLAGS) $^ -o "$(basename $(MAIN_EXECUTABLE))" $(LDLIBS)
$(STRIP) --strip-all "$(MAIN_EXECUTABLE)"
endif
$(MAIN_EXECUTABLE): $(OBJECTS) $(MAIN_EXECUTABLE): $(OBJECTS)
$(CXX) $(LDFLAGS) $^ -o "$(basename $@)" $(LDLIBS) $(CXX) $(LDFLAGS) $^ -o "$(basename $@)" $(LDLIBS)
.PHONY: release
release: $(OBJECTS)
$(CXX) $(LDFLAGS) $^ -o "$(basename $(MAIN_EXECUTABLE))" $(LDLIBS)
$(STRIP) --strip-all "$(MAIN_EXECUTABLE)"
define GENERATE_OBJECTS define GENERATE_OBJECTS
$$(OBJDIR)/$(subst \,.,$(subst /,.,$(1))).%.o: $(1)/% $$(OBJDIR)/$(subst \,.,$(subst /,.,$(1))).%.o: $(1)/%