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.
73 lines
1.4 KiB
73 lines
1.4 KiB
# Capstone Disassembler Engine |
|
# By Nguyen Anh Quynh <aquynh@gmail.com>, 2013> |
|
|
|
include ../config.mk |
|
|
|
INCDIR = ../include |
|
LIBDIR = .. |
|
|
|
ifeq ($(CROSS),) |
|
CC ?= cc |
|
else |
|
CC = $(CROSS)gcc |
|
endif |
|
|
|
|
|
CFLAGS += -fPIC -O3 -Wall -I$(INCDIR) -L$(LIBDIR) |
|
|
|
LIBNAME = capstone |
|
|
|
BIN_EXT = |
|
AR_EXT = a |
|
|
|
# Cygwin? |
|
IS_CYGWIN := $(shell $(CC) -dumpmachine | grep -i cygwin | wc -l) |
|
ifeq ($(IS_CYGWIN),1) |
|
CFLAGS := $(CFLAGS:-fPIC=) |
|
BIN_EXT = .exe |
|
AR_EXT = dll.a |
|
else |
|
# mingw? |
|
IS_MINGW := $(shell $(CC) --version | grep -i mingw | wc -l) |
|
ifeq ($(IS_MINGW),1) |
|
CFLAGS := $(CFLAGS:-fPIC=) |
|
BIN_EXT = .exe |
|
AR_EXT = dll.a |
|
endif |
|
endif |
|
|
|
.PHONY: all clean |
|
|
|
SOURCES = test.c test_detail.c |
|
ifneq (,$(findstring arm,$(CAPSTONE_ARCHS))) |
|
SOURCES += test_arm.c |
|
endif |
|
ifneq (,$(findstring aarch64,$(CAPSTONE_ARCHS))) |
|
SOURCES += test_arm64.c |
|
endif |
|
ifneq (,$(findstring mips,$(CAPSTONE_ARCHS))) |
|
SOURCES += test_mips.c |
|
endif |
|
ifneq (,$(findstring powerpc,$(CAPSTONE_ARCHS))) |
|
SOURCES += test_ppc.c |
|
endif |
|
ifneq (,$(findstring x86,$(CAPSTONE_ARCHS))) |
|
SOURCES += test_x86.c |
|
endif |
|
|
|
OBJS = $(SOURCES:.c=.o) |
|
BINARY = $(SOURCES:.c=$(BIN_EXT)) |
|
|
|
all: $(BINARY) |
|
|
|
clean: |
|
rm -rf $(OBJS) $(SOURCES:.c=) *.exe *.static lib$(LIBNAME).* |
|
|
|
$(BINARY): $(OBJS) |
|
|
|
%$(BIN_EXT): %.o |
|
${CC} $(CFLAGS) $(LDFLAGS) $< -O3 -Wall -l$(LIBNAME) -o $@ |
|
${CC} $(CFLAGS) $(LDFLAGS) $< -O3 -Wall ../lib$(LIBNAME).$(AR_EXT) -o $(subst $(BIN_EXT),,$@).static$(BIN_EXT) |
|
|
|
%.o: %.c |
|
${CC} ${CFLAGS} -c $< -o $@
|
|
|