summaryrefslogtreecommitdiff
path: root/.github/calcrom/Makefile
diff options
context:
space:
mode:
Diffstat (limited to '.github/calcrom/Makefile')
-rw-r--r--.github/calcrom/Makefile31
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))