TARGET= regexParser test/ccMerge CFLAGS= -Wall -O0 -g -I$(CERIUM)/include/TaskManager -I. CC= clang++ CERIUM= ../../Cerium AR= libCeriumGrep.a SRCS_TMP = $(wildcard *.cc) SRCS_EXCLUDE = sequentialSearch.cc state.cc parallelSearch.cc taskInit.cc searchTask.cc main.cc SRCS = $(filter-out $(SRCS_EXCLUDE),$(SRCS_TMP)) OBJS = $(SRCS:.cc=.o) REGEX = '[A-Z][A-Za-z0-9_]*' .cc.o: $(CC) $(CFLAGS) -c $< -o $@ all: $(TARGET) regexParser: $(OBJS) main.o $(CC) $(CFLAGS) -o $@ $(OBJS) main.o test/searchBit: test/searchBit.cc $(CC) $(CFLAGS) $< bitVector.cc -o $@ test/ccMerge: test/ccMerge.o subsetConstruction.o regexParser.o node.o error.o bitVector.o $(CC) $(CFLAGS) $< subsetConstruction.o regexParser.o node.o error.o bitVector.o -o $@ sequentialSearch: sequentialSearch.cc regexParser fileread.o ./regexParser -seq -subset -regex $(REGEX) $(CC) $(CFLAGS) -c sequentialSearch.cc $(CC) $(CFLAGS) sequentialSearch.o fileread.o -o $@ ./$@ -file sequentialSearch.cc parallelSearch: $(AR) cd cerium ; $(MAKE) -f Makefile.macosx CERIUM=../$(CERIUM) $(AR): $(OBJS) ar crus $@ $(OBJS) gcov: make CFLAGS="-Wall -O0 -g -coverage" make test1 make merge_test gcov *.gcda clean: rm -f $(TARGET) $(OBJS) $(AR) rm -rf *~ \#* *.gcda *.gcno *.gcov state.cc sequentialSearch *.dSYM cd cerium; make clean touch state.cc .SUFFIXES: .cc .o tSearch: regexParser ./regexParser -seq -subset -regex '[A-Z][A-Za-z0-9_]*' -file sequentialSearch.cc -ts testParallel : parallelSearch ./cerium/ceriumGrep -regex '[A-Z][a-z]*' -file subsetConstruction.cc test1: regexParser ./regexParser -regex 'a' ./regexParser -regex 'ab' ./regexParser -regex 'a*b' ./regexParser -regex 'ab*' ./regexParser -regex '(ab)*' ./regexParser -regex '(ab)*c' ./regexParser -regex '(ab)c' ./regexParser -regex '(a|b)c' ./regexParser -regex 'a(bc)*d' ./regexParser -regex 'abc*d' ./regexParser -regex '(ab)c*d' ./regexParser -regex 'a(b)c' ./regexParser -regex '(a|b|c)d' ./regexParser -regex '(a|b|c)*d' ./regexParser -regex '[a]' ./regexParser -regex '[ab]' ./regexParser -regex '[a-z]' ./regexParser -regex '[a-zA-Z]' ./regexParser -regex '[a-zA-Z]*' ./regexParser -regex 'a[a-zA-Z]*' ./regexParser -regex 'a([a-z])' ./regexParser -regex 'a|[a-z]' ./regexParser -regex 'a|[a-z]*' ./regexParser -regex 'a*|[a-z]' ./regexParser -regex '[d-ga-c]' ./regexParser -regex '[d-ga-d]' ./regexParser -regex '[d-ga-e]' ./regexParser -regex '[d-ga-f]' ./regexParser -regex '[d-ga-h]' ./regexParser -regex '[d-gd-e]' ./regexParser -regex '[d-gd-f]' ./regexParser -regex '[d-gd-h]' ./regexParser -regex '[d-ge-f]' ./regexParser -regex '[d-ge-g]' ./regexParser -regex '[d-ge-i]' ./regexParser -regex '[d-gg-i]' ./regexParser -regex '[d-gh-i]' ./regexParser -regex '[d-ga-cx-z]' ./regexParser -regex '[d-ga-de-d]' ./regexParser -regex '[d-ga-db-e]' ./regexParser -regex '[d-gh-ja-e]' ./regexParser -regex 'abcd' ./regexParser -regex '([a-c]x|[d-f]y)' test2: regexParser ./regexParser -subset -regex '(a|b)*a(a|b)(a|b)' grepWalk: regexParser ./regexParser -subset -regex '([a-z])r' -file main.cc merge_test: test/ccMerge ./test/ccMerge -regex '[f-i]' -regex 'e' ./test/ccMerge -regex '[f-i]' -regex 'f' ./test/ccMerge -regex '[f-i]' -regex 'g' ./test/ccMerge -regex '[f-i]' -regex 'i' ./test/ccMerge -regex '[f-i]' -regex 'j' ./test/ccMerge -regex 'e' -regex '[f-i]' ./test/ccMerge -regex 'f' -regex '[f-i]' ./test/ccMerge -regex 'g' -regex '[f-i]' ./test/ccMerge -regex 'i' -regex '[f-i]' ./test/ccMerge -regex 'j' -regex '[f-i]' ./test/ccMerge -regex '[f-i]' -regex '[d-e]' ./test/ccMerge -regex '[f-i]' -regex '[d-f]' ./test/ccMerge -regex '[f-i]' -regex '[d-g]' ./test/ccMerge -regex '[f-i]' -regex '[d-i]' ./test/ccMerge -regex '[f-i]' -regex '[d-k]' ./test/ccMerge -regex '[f-i]' -regex '[f-g]' ./test/ccMerge -regex '[f-i]' -regex '[f-i]' ./test/ccMerge -regex '[f-i]' -regex '[f-k]' ./test/ccMerge -regex '[f-i]' -regex '[g-h]' ./test/ccMerge -regex '[f-i]' -regex '[g-i]' ./test/ccMerge -regex '[f-i]' -regex '[g-k]' ./test/ccMerge -regex '[f-i]' -regex '[i-k]' ./test/ccMerge -regex '[f-i]' -regex '[j-k]' ./test/ccMerge -regex '[c-ef-i]' -regex '[d-e]' ./test/ccMerge -regex '[c-ef-i]' -regex '[d-f]' ./test/ccMerge -regex '[c-ef-i]' -regex '[d-g]' ./test/ccMerge -regex '[c-ef-i]' -regex '[d-i]' ./test/ccMerge -regex '[c-ef-ij-m]' -regex '[d-k]' ./test/ccMerge -regex '[f-ij-m]' -regex '[f-k]' ./test/ccMerge -regex '[f-ij-m]' -regex '[g-k]' ./test/ccMerge -regex '[f-ij-m]' -regex '[i-k]' ./test/ccMerge -regex '[f-ij-m]' -regex '[j-k]'