1PREFIX ?= /usr/local 2BIN_PATH = $(PREFIX)/bin 3HELPER_PATH = $(PREFIX)/lib/afl 4DOC_PATH = $(PREFIX)/share/doc/afl 5 6SYS = $(shell uname -s) 7 8PROGRAMS = afl-network-client afl-network-server 9 10HASH=\# 11 12CFLAGS += -Wno-pointer-sign 13 14ifdef STATIC 15 CFLAGS += -static 16endif 17 18ifeq "$(SYS)" "SunOS" 19 LDFLAGS += -lnsl -lsocket 20endif 21 22ifeq "$(shell echo '$(HASH)include <libdeflate.h>@int main() { struct libdeflate_compressor *d = libdeflate_alloc_compressor(1); return 0;}' | tr @ '\n' | $(CC) $(CFLAGS) -x c - -o .test2 -ldeflate 2>/dev/null && echo 1 || echo 0 ; rm -f .test2 )" "1" 23 CFLAGS += -DUSE_DEFLATE=1 24 LDFLAGS += -ldeflate 25 $(info libdeflate-dev was detected, using compression) 26else 27 $(warn did not find libdeflate-dev, cannot use compression) 28endif 29 30all: $(PROGRAMS) 31 32help: 33 @echo make options: 34 @echo STATIC - build as static binaries 35 @echo COMPRESS_TESTCASES - compress test cases 36 37afl-network-client: afl-network-client.c 38 $(CC) $(CFLAGS) -I../../include -o afl-network-client afl-network-client.c $(LDFLAGS) 39 40afl-network-server: afl-network-server.c 41 $(CC) $(CFLAGS) -I../../include -o afl-network-server afl-network-server.c ../../src/afl-forkserver.c ../../src/afl-sharedmem.c ../../src/afl-common.c -DAFL_PATH=\"$(HELPER_PATH)\" -DBIN_PATH=\"$(BIN_PATH)\" $(LDFLAGS) 42 43clean: 44 rm -f $(PROGRAMS) *~ core 45 46install: all 47 install -d -m 755 $${DESTDIR}$(BIN_PATH) $${DESTDIR}$(DOC_PATH) 48 install -m 755 $(PROGRAMS) $${DESTDIR}$(BIN_PATH) 49 install -T -m 644 README.md $${DESTDIR}$(DOC_PATH)/README.network_proxy.md 50 51