You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
1.5 KiB
85 lines
1.5 KiB
# Capstone Disassembler Engine |
|
# By Philippe Antoine <contact@catenacyber.fr>, 2018 |
|
|
|
include ../../config.mk |
|
include ../../functions.mk |
|
|
|
ifneq ($(CAPSTONE_STATIC),yes) |
|
$(error Needs static capstone.) |
|
endif |
|
|
|
# Verbose output? |
|
V ?= 0 |
|
|
|
INCDIR = ../../include |
|
ifndef BUILDDIR |
|
TESTDIR = . |
|
OBJDIR = . |
|
LIBDIR = ../.. |
|
else |
|
TESTDIR = $(BUILDDIR)/tests |
|
OBJDIR = $(BUILDDIR)/obj/tests |
|
LIBDIR = $(BUILDDIR) |
|
endif |
|
|
|
CFLAGS += -Wall -I$(INCDIR) |
|
LDFLAGS += -L$(LIBDIR) |
|
|
|
CFLAGS += $(foreach arch,$(LIBARCHS),-arch $(arch)) |
|
LDFLAGS += $(foreach arch,$(LIBARCHS),-arch $(arch)) |
|
|
|
LIBNAME = capstone |
|
|
|
BIN_EXT = |
|
AR_EXT = a |
|
|
|
|
|
ARCHIVE = $(LIBDIR)/lib$(LIBNAME).$(AR_EXT) |
|
|
|
.PHONY: all clean |
|
|
|
SOURCES = fuzz_disasm.c drivermc.c fuzz_harness.c driverbin.c |
|
OBJS = $(addprefix $(OBJDIR)/,$(SOURCES:.c=.o)) |
|
BINARY = $(addprefix $(TESTDIR)/,fuzz_disasm$(BIN_EXT)) |
|
BINARYBIN = $(addprefix $(TESTDIR)/,fuzz_bindisasm$(BIN_EXT)) |
|
|
|
all: $(BINARY) $(BINARYBIN) |
|
|
|
clean: |
|
rm -rf fuzz_harness $(OBJS) $(BINARY) $(BINARYBIN) $(OBJDIR)/lib$(LIBNAME).* $(OBJDIR)/$(LIBNAME).* |
|
|
|
$(BINARY): fuzz_disasm.o drivermc.o |
|
@mkdir -p $(@D) |
|
ifeq ($(V),0) |
|
$(call log,LINK,$(notdir $@)) |
|
@$(link-static) |
|
else |
|
$(link-static) |
|
endif |
|
|
|
$(BINARYBIN): fuzz_disasm.o driverbin.o |
|
@mkdir -p $(@D) |
|
ifeq ($(V),0) |
|
$(call log,LINK,$(notdir $@)) |
|
@$(link-static) |
|
else |
|
$(link-static) |
|
endif |
|
|
|
$(OBJDIR)/%.o: %.c |
|
@mkdir -p $(@D) |
|
ifeq ($(V),0) |
|
$(call log,CC,$(@:$(OBJDIR)/%=%)) |
|
@$(compile) |
|
else |
|
$(compile) |
|
endif |
|
|
|
|
|
|
|
define link-static |
|
$(CC) $(LDFLAGS) $^ $(ARCHIVE) -o $@ |
|
endef |
|
|
|
fuzz_harness: fuzz_harness.o |
|
${CC} $< -O3 -Wall -l$(LIBNAME) -o $@
|
|
|