Capstone disassembly/disassembler framework: Core (Arm, Arm64, BPF, EVM, M68K, M680X, MOS65xx, Mips, PPC, RISCV, Sparc, SystemZ, TMS320C64x, Web Assembly, X86, X86_64, XCore) + bindings. (bloaty 依赖)
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.

56 lines
1.1 KiB

11 years ago
# Capstone Disassembler Engine
# By Nguyen Anh Quynh <aquynh@gmail.com>, 2013>
INCDIR = ../include
LIBDIR = ..
CC = $(CROSS)gcc
COMPILER = $(shell $(CC) -v 2>&1 )
ifeq ($(findstring clang,$(COMPILER)),clang)
# clang doesnt like -L option
CFLAGS += -fPIC -O3 -Wall -I$(INCDIR)
else
11 years ago
CFLAGS += -fPIC -O3 -Wall -I$(INCDIR) -L$(LIBDIR)
endif
11 years ago
# dummy setup to make Gentoo happy
$(LDFLAGS)
11 years ago
LIBNAME = capstone
BIN_EXT =
# Cygwin?
IS_CYGWIN := $(shell $(CC) -dumpmachine | grep -i cygwin | wc -l)
ifeq ($(IS_CYGWIN),1)
CFLAGS := $(CFLAGS:-fPIC=)
BIN_EXT = .exe
else
# mingw?
IS_MINGW := $(shell $(CC) --version | grep -i mingw | wc -l)
ifeq ($(IS_MINGW),1)
CFLAGS := $(CFLAGS:-fPIC=)
BIN_EXT = .exe
endif
endif
.PHONY: all clean
11 years ago
SOURCES = test.c test_detail.c test_x86.c test_arm64.c test_arm.c test_mips.c
OBJS = $(SOURCES:.c=.o)
BINARY = $(SOURCES:.c=$(BIN_EXT))
all: $(BINARY)
11 years ago
clean:
rm -rf $(OBJS) $(SOURCES:.c=) $(SOURCES:.c=.exe) lib$(LIBNAME).*
$(BINARY): $(OBJS)
%$(BIN_EXT): %.o
${CC} $(CFLAGS) $< -O3 -Wall -l$(LIBNAME) -o $@
11 years ago
%.o: %.c
11 years ago
${CC} ${CFLAGS} -c $< -o $@