mirror of
https://github.com/AFLplusplus/AFLplusplus.git
synced 2025-06-11 09:41:35 +00:00
argv_fuzzing Makefile: portable version
This commit is contained in:
parent
84a4fd40a0
commit
6688184bfd
@ -1,51 +0,0 @@
|
|||||||
#
|
|
||||||
# american fuzzy lop++ - argvfuzz
|
|
||||||
# --------------------------------
|
|
||||||
#
|
|
||||||
# Copyright 2019-2020 Kjell Braden <afflux@pentabarf.de>
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
#
|
|
||||||
|
|
||||||
.PHONY: all install clean
|
|
||||||
|
|
||||||
PREFIX ?= /usr/local
|
|
||||||
BIN_PATH = $(PREFIX)/bin
|
|
||||||
HELPER_PATH = $(PREFIX)/lib/afl
|
|
||||||
|
|
||||||
CFLAGS = -fPIC -Wall -Wextra
|
|
||||||
LDFLAGS = -shared
|
|
||||||
|
|
||||||
ifneq "$(filter Linux GNU%,$(shell uname))" ""
|
|
||||||
LDFLAGS += -ldl
|
|
||||||
endif
|
|
||||||
|
|
||||||
# on gcc for arm there is no -m32, but -mbe32
|
|
||||||
M32FLAG = -m32
|
|
||||||
M64FLAG = -m64
|
|
||||||
ifeq "$(findstring clang, $(shell $(CC) --version 2>/dev/null))" ""
|
|
||||||
ifneq (,$(findstring arm, "$(shell $(CC) -v 2>&1 >/dev/null)"))
|
|
||||||
M32FLAG = -mbe32
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
all: argvfuzz32.so argvfuzz64.so
|
|
||||||
|
|
||||||
argvfuzz32.so: argvfuzz.c
|
|
||||||
-$(CC) $(M32FLAG) $(CFLAGS) $^ $(LDFLAGS) -o $@ || echo "argvfuzz32 build failure (that's fine)"
|
|
||||||
|
|
||||||
argvfuzz64.so: argvfuzz.c
|
|
||||||
-$(CC) $(M64FLAG) $(CFLAGS) $^ $(LDFLAGS) -o $@ || echo "argvfuzz64 build failure (that's fine)"
|
|
||||||
|
|
||||||
install: argvfuzz32.so argvfuzz64.so
|
|
||||||
install -d -m 755 $(DESTDIR)$(HELPER_PATH)/
|
|
||||||
if [ -f argvfuzz32.so ]; then set -e; install -m 755 argvfuzz32.so $(DESTDIR)$(HELPER_PATH)/; fi
|
|
||||||
if [ -f argvfuzz64.so ]; then set -e; install -m 755 argvfuzz64.so $(DESTDIR)$(HELPER_PATH)/; fi
|
|
||||||
|
|
||||||
clean:
|
|
||||||
rm -f argvfuzz32.so argvfuzz64.so
|
|
@ -1,2 +1,56 @@
|
|||||||
all:
|
#
|
||||||
@echo please use GNU make, thanks!
|
# american fuzzy lop++ - argvfuzz
|
||||||
|
# --------------------------------
|
||||||
|
#
|
||||||
|
# Copyright 2019-2020 Kjell Braden <afflux@pentabarf.de>
|
||||||
|
#
|
||||||
|
# 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
|
||||||
|
#
|
||||||
|
|
||||||
|
.PHONY: all install clean
|
||||||
|
|
||||||
|
PREFIX ?= /usr/local
|
||||||
|
BIN_PATH = $(PREFIX)/bin
|
||||||
|
HELPER_PATH = $(PREFIX)/lib/afl
|
||||||
|
|
||||||
|
CFLAGS = -fPIC -Wall -Wextra
|
||||||
|
LDFLAGS = -shared
|
||||||
|
|
||||||
|
UNAME_SAYS_LINUX=$(shell uname | grep -E '^Linux|^GNU' >/dev/null; echo $$?)
|
||||||
|
UNAME_SAYS_LINUX:sh=uname | grep -E '^Linux|^GNU' >/dev/null; echo $$?
|
||||||
|
|
||||||
|
_LDFLAGS_ADD=$(UNAME_SAYS_LINUX:1=)
|
||||||
|
LDFLAGS_ADD=$(_LDFLAGS_ADD:0=-ldl)
|
||||||
|
LDFLAGS += $(LDFLAGS_ADD)
|
||||||
|
|
||||||
|
# on gcc for arm there is no -m32, but -mbe32
|
||||||
|
M32FLAG = -m32
|
||||||
|
M64FLAG = -m64
|
||||||
|
|
||||||
|
CC_IS_GCC=$(shell $(CC) --version 2>/dev/null | grep gcc; echo $$?)
|
||||||
|
CC_IS_ARMCOMPILER=$(shell $(CC) -v 2>&1 >/dev/null | grep arm; echo $$?)
|
||||||
|
|
||||||
|
_M32FLAG=$(CC_IS_GCC)$(CC_IS_ARMCOMPILER)
|
||||||
|
__M32FLAG=$(_M32FLAG:00=-mbe32)
|
||||||
|
___M32FLAG=$(__M32FLAG:$(CC_IS_GCC)$(CC_IS_ARMCOMPILER)=-m32)
|
||||||
|
M32FLAG=$(___M32FLAG)
|
||||||
|
|
||||||
|
all: argvfuzz32.so argvfuzz64.so
|
||||||
|
|
||||||
|
argvfuzz32.so: argvfuzz.c
|
||||||
|
-$(CC) $(M32FLAG) $(CFLAGS) $^ $(LDFLAGS) -o $@ || echo "argvfuzz32 build failure (that's fine)"
|
||||||
|
|
||||||
|
argvfuzz64.so: argvfuzz.c
|
||||||
|
-$(CC) $(M64FLAG) $(CFLAGS) $^ $(LDFLAGS) -o $@ || echo "argvfuzz64 build failure (that's fine)"
|
||||||
|
|
||||||
|
install: argvfuzz32.so argvfuzz64.so
|
||||||
|
install -d -m 755 $(DESTDIR)$(HELPER_PATH)/
|
||||||
|
if [ -f argvfuzz32.so ]; then set -e; install -m 755 argvfuzz32.so $(DESTDIR)$(HELPER_PATH)/; fi
|
||||||
|
if [ -f argvfuzz64.so ]; then set -e; install -m 755 argvfuzz64.so $(DESTDIR)$(HELPER_PATH)/; fi
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f argvfuzz32.so argvfuzz64.so
|
||||||
|
Loading…
x
Reference in New Issue
Block a user