diff options
Diffstat (limited to '.github/calcrom/Makefile')
-rw-r--r-- | .github/calcrom/Makefile | 31 |
1 files changed, 27 insertions, 4 deletions
diff --git a/.github/calcrom/Makefile b/.github/calcrom/Makefile index e3b6ff50..31b58803 100644 --- a/.github/calcrom/Makefile +++ b/.github/calcrom/Makefile @@ -1,5 +1,8 @@ CXX := g++ -CXXFLAGS := -O3 -std=c++11 +CXXFLAGS := -g -O2 -std=c++17 +ifeq ($(DEBUG),) +CXXFLAGS += -DNDEBUG +endif ifeq ($(OS),Windows_NT) EXE := .exe @@ -7,11 +10,31 @@ else EXE := endif +CXXSRCS := calcrom.cpp BuildAnalyzer.cpp ElfFile.cpp Glob.cpp +CXXOBJS := $(CXXSRCS:%.cpp=%.o) + +DEPDIR := .deps +DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.d + TARGET := calcrom$(EXE) -.PHONY: all +.PHONY: all clean all: $(TARGET) -$(TARGET): calcrom.cpp - $(CXX) $(CXXFLAGS) -o $@ $^ +clean: + $(RM) -r $(TARGET) $(CXXOBJS) $(DEPDIR) + +$(TARGET): $(CXXOBJS) + $(CXX) $(LDFLAGS) -o $@ $^ + +%.o: %.cpp +%.o: %.cpp $(DEPDIR)/%.d | $(DEPDIR) + $(CXX) $(CXXFLAGS) $(DEPFLAGS) -c -o $@ $< + +$(DEPDIR): ; @mkdir -p $@ + +DEPFILES := $(CXXSRCS:%.cpp=$(DEPDIR)/%.d) +$(DEPFILES): + +include $(wildcard $(DEPFILES)) |