1# makefile for harness 2SRC = ../src 3CFLAGS = -I$(SRC) -Wall -g -fsanitize=fuzzer,address -fno-omit-frame-pointer 4CFLAGS_M = -I$(SRC) -Wall -g -fsanitize=fuzzer-no-link,address -fno-omit-frame-pointer -DSTANDALONE 5ONIG_LIB = $(SRC)/.libs/libonig.a 6LIBS = $(ONIG_LIB) 7 8TARGETS = fuzzer-encode fuzzer-syntax fuzzer-utf16-be fuzzer-utf16-le \ 9 fuzzer-regset \ 10 read-encode read-syntax read-utf16-be read-utf16-le read-regset 11 12OTHER_TARGETS = libfuzzer-onig libfuzzer-onig-full fuzzer-deluxe read-deluxe 13 14 15default: $(TARGETS) 16 17fuzzer-encode: base.c $(ONIG_LIB) 18 clang $(CFLAGS) $< $(LIBS) -o $@ 19 20fuzzer-syntax: base.c $(ONIG_LIB) 21 clang -DSYNTAX_TEST $(CFLAGS) $< $(LIBS) -o $@ 22 23fuzzer-deluxe: deluxe.c $(ONIG_LIB) 24 clang $(CFLAGS) $< $(LIBS) -o $@ 25 26fuzzer-utf16-be: base.c $(ONIG_LIB) 27 clang -DUTF16_BE $(CFLAGS) $< $(LIBS) -o $@ 28 29fuzzer-utf16-le: base.c $(ONIG_LIB) 30 clang -DUTF16_LE $(CFLAGS) $< $(LIBS) -o $@ 31 32fuzzer-regset: regset.c $(ONIG_LIB) 33 clang $(CFLAGS) $< $(LIBS) -o $@ 34 35read-encode: base.c $(ONIG_LIB) 36 clang $(CFLAGS_M) $< $(LIBS) -o $@ 37 38read-syntax: base.c $(ONIG_LIB) 39 clang -DSYNTAX_TEST $(CFLAGS_M) $< $(LIBS) -o $@ 40 41read-deluxe: deluxe.c $(ONIG_LIB) 42 clang $(CFLAGS_M) $< $(LIBS) -o $@ 43 44read-utf16-be: base.c $(ONIG_LIB) 45 clang -DUTF16_BE $(CFLAGS_M) $< $(LIBS) -o $@ 46 47read-utf16-le: base.c $(ONIG_LIB) 48 clang -DUTF16_LE $(CFLAGS_M) $< $(LIBS) -o $@ 49 50read-regset: regset.c $(ONIG_LIB) 51 clang $(CFLAGS_M) $< $(LIBS) -o $@ 52 53libfuzzer-onig: libfuzzer-onig.cpp $(ONIG_LIB) 54 clang++ $(CFLAGS) $< $(LIBS) -o $@ 55 56libfuzzer-onig-full: libfuzzer-onig.cpp $(ONIG_LIB) 57 clang++ -DFULL_TEST $(CFLAGS) $< $(LIBS) -o $@ 58 59 60$(ONIG_LIB): 61 cd ..; make clean 62 #cd ..; autoreconf -vfi 63 cd ..; ./configure CC=clang LD=clang CFLAGS="-g -fsanitize=address -fno-omit-frame-pointer" LDFLAGS="-g -fsanitize=address -fno-omit-frame-pointer" 64 cd ..; make -j4 65 66 67clean: 68 rm -f $(TARGETS) $(OTHER_TARGETS) 69