diff options
Diffstat (limited to 'tools/msgenc/Makefile')
-rw-r--r-- | tools/msgenc/Makefile | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/tools/msgenc/Makefile b/tools/msgenc/Makefile index 2fc4f3a9..b39d97cb 100644 --- a/tools/msgenc/Makefile +++ b/tools/msgenc/Makefile @@ -1,13 +1,40 @@ CXXFLAGS := -std=c++17 -O2 -Wall -Wno-switch CFLAGS := -O2 -Wall -Wno-switch +ifeq ($(DEBUG),) +CXXFLAGS += -DNDEBUG +endif + +DEPDIR := .deps +DEPFLAGS = -MT $@ -MMD -MP -MF $(DEPDIR)/$*.d + +define SRCS := + msgenc.cpp + MessagesConverter.cpp + MessagesDecoder.cpp + MessagesEncoder.cpp +endef + +OBJS := $(SRCS:%.cpp=%.o) + .PHONY: all clean all: msgenc @: clean: - $(RM) msgenc msgenc.exe + $(RM) -r msgenc msgenc.exe $(OBJS) $(DEPDIR) + +msgenc: $(OBJS) + $(CXX) $(LDFLAGS) -o $@ $^ + +%.o: %.cpp +%.o: %.cpp $(DEPDIR)/%.d | $(DEPDIR) + $(CXX) $(CXXFLAGS) $(DEPFLAGS) -c -o $@ $< + +$(DEPDIR): ; @mkdir -p $@ + +DEPFILES := $(SRCS:%.cpp=$(DEPDIR)/%.d) +$(DEPFILES): -msgenc: msgenc.cpp - $(CXX) $(CXXFLAGS) -o $@ $^ +include $(wildcard $(DEPFILES)) |