CXXFLAGS = -Wall -Wextra -Wpedantic -Wno-missing-braces --std=c++17 -fcoroutines-ts -I./inc -I../../include LDFLAGS = -fuse-ld=lld -L./boost_1_64_0/stage/lib -L/usr/local/lib -L./yaml-cpp-master/build -lyaml-cpp -L/mnt/Vers1/libs -lcppcoro -ltinyutf8 # CXX = ~/usr/bin/clang++ --std=c++17 -I/home/killerbee/usr/include -stdlib=libc++ -I./inc CXX = /usr/local/bin/clang++ -stdlib=libc++ # CXX = g++-6 -I./inc xd=./xd/xd SRC = $(wildcard ./*.cpp) OBJ = $(patsubst %.cpp,%.o,$(SRC)) OBJO = $(patsubst ./%.cpp,build/opt/%.o,$(SRC)) DEP = $(patsubst %.cpp,%.d,$(SRC)) EXE = wordgen SANFLAGS=-fno-omit-frame-pointer -fsanitize=undefined,address optsS=$(CXXFLAGS) -glldb -Ofast -fstandalone-debug -msse3 -march=native optsD=$(CXXFLAGS) $(SANFLAGS) -glldb -O0 -fstandalone-debug -msse3 -D_DEBUG optsO=$(CXXFLAGS) -Ofast -msse3 -flto -march=native -DNDEBUG .PHONY: all all: $(DEP) $(EXE) .PHONY: opt opt: $(OBJO) wordgen.opt %.d: $(CXX) $(CXXFLAGS) -MM $*.cpp > $*.d helptext.inc: helptext $(xd) -dhelp_text helptext > helptext.inc %.o: %.cpp $(CXX) $(optsD) -c $*.cpp build/opt/%.o: %.cpp $(CXX) $(optsS) -c $*.cpp -o build/opt/$*.o $(EXE): $(OBJ) $(CXX) $(OBJ) -o $(EXE) $(LDFLAGS) $(SANFLAGS) -flto wordgen.opt: $(OBJO) $(CXX) $(OBJO) -o wordgen.opt $(LDFLAGS) -flto .PHONY: clean clean: rm -f $(EXE) *.a *.o *.d build/opt/*.o -include $(DEP)