xref: /aosp_15_r20/external/AFLplusplus/utils/afl_network_proxy/GNUmakefile (revision 08b48e0b10e97b33e7b60c5b6e2243bd915777f2)
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