xref: /aosp_15_r20/external/AFLplusplus/utils/libtokencap/Makefile (revision 08b48e0b10e97b33e7b60c5b6e2243bd915777f2)
1*08b48e0bSAndroid Build Coastguard Worker#
2*08b48e0bSAndroid Build Coastguard Worker# american fuzzy lop++ - libtokencap
3*08b48e0bSAndroid Build Coastguard Worker# --------------------------------
4*08b48e0bSAndroid Build Coastguard Worker#
5*08b48e0bSAndroid Build Coastguard Worker# Originally written by Michal Zalewski
6*08b48e0bSAndroid Build Coastguard Worker#
7*08b48e0bSAndroid Build Coastguard Worker# Copyright 2016 Google Inc. All rights reserved.
8*08b48e0bSAndroid Build Coastguard Worker#
9*08b48e0bSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
10*08b48e0bSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
11*08b48e0bSAndroid Build Coastguard Worker# You may obtain a copy of the License at:
12*08b48e0bSAndroid Build Coastguard Worker#
13*08b48e0bSAndroid Build Coastguard Worker#   http://www.apache.org/licenses/LICENSE-2.0
14*08b48e0bSAndroid Build Coastguard Worker#
15*08b48e0bSAndroid Build Coastguard Worker
16*08b48e0bSAndroid Build Coastguard WorkerPREFIX      ?= /usr/local
17*08b48e0bSAndroid Build Coastguard WorkerHELPER_PATH  = $(PREFIX)/lib/afl
18*08b48e0bSAndroid Build Coastguard WorkerDOC_PATH    ?= $(PREFIX)/share/doc/afl
19*08b48e0bSAndroid Build Coastguard WorkerMAN_PATH    ?= $(PREFIX)/share/man/man8
20*08b48e0bSAndroid Build Coastguard Worker
21*08b48e0bSAndroid Build Coastguard WorkerVERSION     = $(shell grep '^\#define VERSION ' ../../config.h | cut -d '"' -f2)
22*08b48e0bSAndroid Build Coastguard Worker
23*08b48e0bSAndroid Build Coastguard WorkerCFLAGS      ?= -O3 -funroll-loops -D_FORTIFY_SOURCE=2
24*08b48e0bSAndroid Build Coastguard Workeroverride CFLAGS += -I ../../include/ -Wall -g -Wno-pointer-sign
25*08b48e0bSAndroid Build Coastguard Worker
26*08b48e0bSAndroid Build Coastguard Worker
27*08b48e0bSAndroid Build Coastguard WorkerUNAME_S =$(shell uname -s)# GNU make
28*08b48e0bSAndroid Build Coastguard WorkerUNAME_S:sh=uname -s       # BSD make
29*08b48e0bSAndroid Build Coastguard Worker_UNIQ=_QINU_
30*08b48e0bSAndroid Build Coastguard Worker
31*08b48e0bSAndroid Build Coastguard Worker    _OS_DL = $(_UNIQ)$(UNAME_S)
32*08b48e0bSAndroid Build Coastguard Worker   __OS_DL =     $(_OS_DL:$(_UNIQ)Linux=$(_UNIQ))
33*08b48e0bSAndroid Build Coastguard Worker  ___OS_DL =    $(__OS_DL:$(_UNIQ)Darwin=$(_UNIQ))
34*08b48e0bSAndroid Build Coastguard Worker ____OS_DL =   $(___OS_DL:$(_UNIQ)$(UNAME_S)=)
35*08b48e0bSAndroid Build Coastguard Worker_____OS_DL =  $(____OS_DL:$(_UNIQ)="-ldl")
36*08b48e0bSAndroid Build Coastguard Worker
37*08b48e0bSAndroid Build Coastguard Worker     _OS_TARGET = $(___OS_DL:$(_UNIQ)FreeBSD=$(_UNIQ))
38*08b48e0bSAndroid Build Coastguard Worker    __OS_TARGET =     $(_OS_TARGET:$(_UNIQ)OpenBSD=$(_UNIQ))
39*08b48e0bSAndroid Build Coastguard Worker   ___OS_TARGET =    $(__OS_TARGET:$(_UNIQ)NetBSD=$(_UNIQ))
40*08b48e0bSAndroid Build Coastguard Worker  ____OS_TARGET =   $(___OS_TARGET:$(_UNIQ)Haiku=$(_UNIQ))
41*08b48e0bSAndroid Build Coastguard Worker _____OS_TARGET =  $(____OS_TARGET:$(_UNIQ)SunOS=$(_UNIQ))
42*08b48e0bSAndroid Build Coastguard Worker______OS_TARGET = $(_____OS_TARGET:$(_UNIQ)$(UNAME_S)=)
43*08b48e0bSAndroid Build Coastguard Worker
44*08b48e0bSAndroid Build Coastguard WorkerTARGETS       =  $(______OS_TARGET:$(_UNIQ)=libtokencap.so)
45*08b48e0bSAndroid Build Coastguard Worker
46*08b48e0bSAndroid Build Coastguard WorkerLDFLAGS     += $(_____OS_DL)
47*08b48e0bSAndroid Build Coastguard Worker
48*08b48e0bSAndroid Build Coastguard Worker#ifeq "$(shell uname)" "Linux"
49*08b48e0bSAndroid Build Coastguard Worker#  TARGETS = libtokencap.so
50*08b48e0bSAndroid Build Coastguard Worker#  LDFLAGS     += -ldl
51*08b48e0bSAndroid Build Coastguard Worker#endif
52*08b48e0bSAndroid Build Coastguard Worker#ifeq "$(shell uname)" "Darwin"
53*08b48e0bSAndroid Build Coastguard Worker#  TARGETS = libtokencap.so
54*08b48e0bSAndroid Build Coastguard Worker#  LDFLAGS     += -ldl
55*08b48e0bSAndroid Build Coastguard Worker#endif
56*08b48e0bSAndroid Build Coastguard Worker#ifeq "$(shell uname)" "FreeBSD"
57*08b48e0bSAndroid Build Coastguard Worker#  TARGETS = libtokencap.so
58*08b48e0bSAndroid Build Coastguard Worker#endif
59*08b48e0bSAndroid Build Coastguard Worker#ifeq "$(shell uname)" "OpenBSD"
60*08b48e0bSAndroid Build Coastguard Worker#  TARGETS = libtokencap.so
61*08b48e0bSAndroid Build Coastguard Worker#endif
62*08b48e0bSAndroid Build Coastguard Worker#ifeq "$(shell uname)" "NetBSD"
63*08b48e0bSAndroid Build Coastguard Worker#  TARGETS = libtokencap.so
64*08b48e0bSAndroid Build Coastguard Worker#endif
65*08b48e0bSAndroid Build Coastguard Worker#ifeq "$(shell uname)" "DragonFly"
66*08b48e0bSAndroid Build Coastguard Worker#  TARGETS = libtokencap.so
67*08b48e0bSAndroid Build Coastguard Worker#  LDFLAGS     += -ldl
68*08b48e0bSAndroid Build Coastguard Worker#endif
69*08b48e0bSAndroid Build Coastguard Workerall: $(TARGETS)
70*08b48e0bSAndroid Build Coastguard Worker
71*08b48e0bSAndroid Build Coastguard Workerlibtokencap.so: libtokencap.so.c ../../config.h
72*08b48e0bSAndroid Build Coastguard Worker	$(CC) $(CFLAGS) $(CPPFLAGS) -shared -fPIC $< -o $@ $(LDFLAGS)
73*08b48e0bSAndroid Build Coastguard Worker	cp -f libtokencap.so ../../
74*08b48e0bSAndroid Build Coastguard Worker
75*08b48e0bSAndroid Build Coastguard Worker.NOTPARALLEL: clean
76*08b48e0bSAndroid Build Coastguard Worker
77*08b48e0bSAndroid Build Coastguard Workerdebug:
78*08b48e0bSAndroid Build Coastguard Worker	@echo $(UNAME_S)$(_UNIQ) | hexdump -C
79*08b48e0bSAndroid Build Coastguard Worker	@echo from $(____OS_DL) : $(_UNIQ)$(UNAME_S) = -\> $(_____OS_DL)
80*08b48e0bSAndroid Build Coastguard Worker	@echo from $(_____OS_DL) : $(_UNIQ) = -ldl -\> $(______OS_DL)
81*08b48e0bSAndroid Build Coastguard Worker	@echo from $(____OS_DL) : $(_UNIQ)FreeBSD = $(_UNIQ) -\> $(_OS_TARGET)
82*08b48e0bSAndroid Build Coastguard Worker	@echo from $(_OS_TARGET) : $(_UNIQ)OpenBSD = $(_UNIQ) -\> $(__OS_TARGET)
83*08b48e0bSAndroid Build Coastguard Worker	@echo from $(__OS_TARGET) : $(_UNIQ)NetBSD = $(_UNIQ) -\> $(___OS_TARGET)
84*08b48e0bSAndroid Build Coastguard Worker	@echo from $(___OS_TARGET) : $(_UNIQ)$(_UNIQ) = -\> $(____OS_TARGET)
85*08b48e0bSAndroid Build Coastguard Worker	@echo from $(____OS_TARGET) : $(_UNIQ) = libtokencap.so -\> $(TARGETS)
86*08b48e0bSAndroid Build Coastguard Worker
87*08b48e0bSAndroid Build Coastguard Workerclean:
88*08b48e0bSAndroid Build Coastguard Worker	rm -f *.o *.so *~ a.out core core.[1-9][0-9]*
89*08b48e0bSAndroid Build Coastguard Worker	rm -fv ../../libtokencap.so
90*08b48e0bSAndroid Build Coastguard Worker
91*08b48e0bSAndroid Build Coastguard Workerinstall: all
92*08b48e0bSAndroid Build Coastguard Worker	install -m 755 -d $${DESTDIR}$(HELPER_PATH)
93*08b48e0bSAndroid Build Coastguard Worker	install -m 755 ../../libtokencap.so $${DESTDIR}$(HELPER_PATH)
94*08b48e0bSAndroid Build Coastguard Worker	install -m 644 -T README.md $${DESTDIR}$(DOC_PATH)/README.tokencap.md
95