about summary refs log tree commit diff
path: root/libtokencap/Makefile
blob: 4889479b2895ef82ed91258090b5c38055a24e97 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#
# american fuzzy lop++ - libtokencap
# --------------------------------
#
# Originally written by Michal Zalewski
#
# Copyright 2016 Google Inc. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
#   http://www.apache.org/licenses/LICENSE-2.0
#

PREFIX      ?= /usr/local
HELPER_PATH  = $(PREFIX)/lib/afl
DOC_PATH    ?= $(PREFIX)/share/doc/afl
MAN_PATH    ?= $(PREFIX)/man/man8

VERSION     = $(shell grep '^\#define VERSION ' ../config.h | cut -d '"' -f2)

CFLAGS      ?= -O3 -funroll-loops
CFLAGS      += -I ../include/ -Wall -D_FORTIFY_SOURCE=2 -g -Wno-pointer-sign

ifeq "$(shell uname)" "Linux"
  TARGETS = libtokencap.so
  LDFLAGS     += -ldl
endif
ifeq "$(shell uname)" "Darwin"
  TARGETS = libtokencap.so
  LDFLAGS     += -ldl
endif
ifeq "$(shell uname)" "FreeBSD"
  TARGETS = libtokencap.so
endif
ifeq "$(shell uname)" "OpenBSD"
  TARGETS = libtokencap.so
endif
ifeq "$(shell uname)" "NetBSD"
  TARGETS = libtokencap.so
endif
ifeq "$(shell uname)" "DragonFly"
  TARGETS = libtokencap.so
  LDFLAGS     += -ldl
endif
all: $(TARGETS)

VPATH = ..
libtokencap.so: libtokencap.so.c ../config.h
	$(CC) $(CFLAGS) -shared -fPIC $< -o ../$@ $(LDFLAGS)

.NOTPARALLEL: clean

clean:
	rm -f *.o *.so *~ a.out core core.[1-9][0-9]*
	rm -f ../libtokencap.so

install: all
	install -m 755 -d $${DESTDIR}$(HELPER_PATH)
	install -m 755 ../libtokencap.so $${DESTDIR}$(HELPER_PATH)
	install -m 644 -T README.md $${DESTDIR}$(DOC_PATH)/README.tokencap.md