CXX=clang++-11 #CXX=g++-10 CXXFLAGS=-O0 -g -D_DEBUG #CXXFLAGS=-O2 -DNDEBUG CXXFLAGS+=-Wall -Iinclude -std=c++20 ifeq ($(CXX),clang++-11) CXXFLAGS+=-stdlib=libc++ endif LDLIBS+=\ -lboost_context \ -lboost_filesystem \ -lboost_timer \ -lboost_system \ ifeq ($(CXX),clang++-11) LIBS+= \ -fuse-ld=lld-11 \ -lc++ \ -lc++abi #-lc++fs #-lstdc++ \ #-lstdc++fs else LIBS+= \ -lstdc++ #-lstdc++fs endif SRC=\ src/recode.cpp \ src/test-unicode.cpp all: src/recode src/test-unicode test: src/test-unicode src/test-unicode src/recode: src/recode.o dep $(CXX) $(LDFLAGS) $< $(LDLIBS) $(LIBS) -o $@ src/test-unicode: src/test-unicode.o dep $(CXX) $(LDFLAGS) $< $(LDLIBS) $(LIBS) -o $@ dep: $(SRC:.cpp=.d) %.d: %.cpp $(CXX) $(CXXFLAGS) -MM -MP -MF $@ -MT $(*D)/$(*F).o -c $< %.o: %.cpp %.d $(CXX) $(CXXFLAGS) -c $< -o $@ clean: -rm -f src/recode src/test-unicode -find . -name '*.o' -o -name '*.d' -o -name '*.gcno' -o -name '*.gcda' | xargs rm -f install: mkdir -p $(DESTDIR)/usr/include cp include/unicode.h $(DESTDIR)/usr/include .PHONY: all test clean install dep -include $(wildcard $(SRC:.cpp=.d))