capstone/tests/Makefile

91 lines
1.8 KiB
Makefile
Raw Normal View History

2013-11-27 12:11:31 +08:00
# Capstone Disassembler Engine
2014-03-10 11:58:57 +08:00
# By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2014
2013-11-27 12:11:31 +08:00
include ../config.mk
2013-11-27 12:11:31 +08:00
INCDIR = ../include
ifndef BUILDDIR
TESTDIR = .
OBJDIR = .
LIBDIR = ..
else
TESTDIR = $(BUILDDIR)/tests
OBJDIR = $(BUILDDIR)/obj
LIBDIR = $(BUILDDIR)
endif
2013-11-27 12:11:31 +08:00
ifeq ($(CROSS),)
CC ?= cc
else
CC = $(CROSS)gcc
endif
CFLAGS += -fPIC -O3 -Wall -I$(INCDIR)
LDFLAGS += -L$(LIBDIR)
2013-11-27 12:11:31 +08:00
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
2013-11-27 12:11:31 +08:00
SOURCES = test.c test_detail.c test_skipdata.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
2014-03-10 11:58:57 +08:00
ifneq (,$(findstring sparc,$(CAPSTONE_ARCHS)))
SOURCES += test_sparc.c
endif
2014-03-23 08:35:45 +08:00
ifneq (,$(findstring systemz,$(CAPSTONE_ARCHS)))
SOURCES += test_systemz.c
endif
ifneq (,$(findstring x86,$(CAPSTONE_ARCHS)))
SOURCES += test_x86.c
endif
OBJS = $(addprefix $(OBJDIR)/,$(SOURCES:.c=.o))
BINARY = $(addprefix $(TESTDIR)/,$(SOURCES:.c=$(BIN_EXT)))
2013-11-28 04:57:51 +01:00
all: $(BINARY)
2013-11-27 12:11:31 +08:00
clean:
rm -rf $(OBJS) $(BINARY) $(TESTDIR)/*.exe $(TESTDIR)/*.static $(OBJDIR)/lib$(LIBNAME).*
2013-11-28 02:46:15 -06:00
$(BINARY): $(OBJS)
2013-11-28 02:46:15 -06:00
$(TESTDIR)/%$(BIN_EXT): $(OBJDIR)/%.o
@mkdir -p $(@D)
${CC} $(CFLAGS) $(LDFLAGS) $< -O3 -Wall -l$(LIBNAME) -o $@
${CC} $(CFLAGS) $(LDFLAGS) $< -O3 -Wall $(LIBDIR)/lib$(LIBNAME).$(AR_EXT) -o $(subst $(BIN_EXT),,$@).static$(BIN_EXT)
2013-11-27 12:11:31 +08:00
$(OBJDIR)/%.o: %.c
@mkdir -p $(@D)
2013-11-27 12:11:31 +08:00
${CC} ${CFLAGS} -c $< -o $@