forked from Genivia/RE-flex
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMake
67 lines (53 loc) · 2.12 KB
/
Make
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Makefile to quickly build the projects and install reflex:
# > make -f Make
# Normally you should use configure and make to build and install:
# > ./configure && make
# > sudo make install
INSTALL_LIB=/usr/local/lib
INSTALL_INC=/usr/local/include/reflex
CPP=c++
AR=ar
RANLIB=ranlib
COFLAGS=-O2
CWFLAGS=-Wall -Wunused -Wextra
CIFLAGS=-I. -I../include
CMFLAGS=
# CMFLAGS=-DDEBUG
CFLAGS=$(CWFLAGS) $(COFLAGS) $(CIFLAGS) $(CMFLAGS)
.PHONY: release install clean distclean
release: libreflex.a libreflex.so libreflexmin.a libreflexmin.so
install: release
@echo
@echo "Installing libreflex in $(INSTALL_LIB)"
-cp -f -p libreflex.a libreflexmin.a $(INSTALL_LIB)
-mkdir -p $(INSTALL_INC)
@echo
@echo "Installing reflex header files in $(INSTALL_INC)"
-cp -f ../include/reflex/*.h $(INSTALL_INC)
libreflex.a: convert.o debug.o error.o input.o block_scripts.o language_scripts.o letter_scripts.o matcher.o matcher_avx2.o matcher_avx512bw.o pattern.o posix.o simd_avx2.o simd_avx512bw.o unicode.o utf8.o
$(AR) -rsc $@ $^
$(RANLIB) $@
libreflexmin.a: debug.o error.o input.o matcher.o matcher_avx2.o matcher_avx512bw.o pattern.o simd_avx2.o simd_avx512bw.o utf8.o
$(AR) -rsc $@ $^
$(RANLIB) $@
libreflex.so: convert.cpp debug.cpp error.cpp input.cpp ../unicode/block_scripts.cpp ../unicode/language_scripts.cpp ../unicode/letter_scripts.cpp matcher.cpp matcher_avx2.cpp matcher_avx512bw.cpp pattern.cpp posix.cpp simd_avx2.cpp simd_avx512bw.cpp unicode.cpp utf8.cpp
$(CPP) $(CFLAGS) -shared -o $@ -fPIC $^
libreflexmin.so: debug.cpp error.cpp input.cpp matcher.cpp matcher_avx2.cpp matcher_avx512bw.cpp pattern.cpp simd_avx2.cpp simd_avx512bw.cpp utf8.cpp
$(CPP) $(CFLAGS) -shared -o $@ -fPIC $^
block_scripts.o: ../unicode/block_scripts.cpp
$(CPP) $(CFLAGS) -c $^
language_scripts.o: ../unicode/language_scripts.cpp
$(CPP) $(CFLAGS) -c $^
letter_scripts.o: ../unicode/letter_scripts.cpp
$(CPP) $(CFLAGS) -c $^
.cc.o:
$(CPP) $(CFLAGS) -c $<
.cpp.o:
$(CPP) $(CFLAGS) -c $<
clean:
-rm -rf *.dSYM
-rm -f *.o *.gch *.log
distclean:
-rm -rf *.dSYM
-rm -f *.o *.gch *.log
-rm -f *.a *.la *.so *.dylib