summaryrefslogtreecommitdiffhomepage
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile52
1 files changed, 52 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..90471a9
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,52 @@
+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 \
+
+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))