TARGET= regexParser test/ccMerge CFLAGS= -Wall -O0 -g CC= clang++ SRCS_TMP = $(wildcard *.cc) SRCS_EXCLUDE = sequentialSearch.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) $(CC) $(CFLAGS) -o $@ $(OBJS) test/searchBit: test/searchBit.cc $(CC) $(CFLAGS) -I. $< bitVector.cc -o $@ test/ccMerge: test/ccMerge.cc $(CC) $(CFLAGS) -I. $< subsetConstruction.cc regexParser.cc node.cc error.cc bitVector.cc -o $@ sequentialSearch: sequentialSearch.cc regexParser ./regexParser -subset -regex $(REGEX) $(CC) $(CFLAGS) -I. sequentialSearch.cc -o $@ gcov: make CFLAGS="-Wall -O0 -g -coverage" make test1 make merge_test gcov *.gcda clean: rm -f $(TARGET) $(OBJS) rm -f *~ \#* *.gcda *.gcno *.gcov state.cc touch state.cc .SUFFIXES: .cc .o 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' test2: regexParser ./regexParser -subset -regex '(a|b)*a(a|b)(a|b)' 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]'