# # Makefile for sortbin utility. # CXX = g++ CXXFLAGS = -Wall -O2 -pthread CXXFLAGS_DEBUG = -g -fsanitize=address -fsanitize=undefined -fsanitize=leak SRCDIR = src BUILDDIR = build TOOLS = sortbin recgen BINFILES = $(patsubst %,$(BUILDDIR)/%,$(TOOLS)) BINFILES_DEBUG = $(patsubst %,$(BUILDDIR)/%_dbg,$(TOOLS)) .PHONY: all all: $(BINFILES) .PHONY: test test: $(BINFILES_DEBUG) cd tests ; ./run_tests.sh $(BUILDDIR)/sortbin: $(SRCDIR)/sortbin.cpp $(BUILDDIR)/recgen: $(SRCDIR)/recgen.cpp $(SRCDIR)/xoroshiro128plus.h $(BUILDDIR)/sortbin_dbg: $(SRCDIR)/sortbin.cpp $(BUILDDIR)/recgen_dbg: $(SRCDIR)/recgen.cpp $(SRCDIR)/xoroshiro128plus.h $(BUILDDIR)/%: $(SRCDIR)/%.cpp @mkdir -p $(BUILDDIR) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $< $(LDLIBS) -o $@ $(BUILDDIR)/%_dbg: $(SRCDIR)/%.cpp @mkdir -p $(BUILDDIR) $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(CXXFLAGS_DEBUG) $(LDFLAGS) $< $(LDLIBS) -o $@ .PHONY: clean clean: $(RM) $(BINFILES) $(BINFILES_DEBUG) $(RM) -r tests/testdata