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.
48 lines
883 B
48 lines
883 B
3 years ago
|
# Makefile for Cstool of Capstone Disassembly Engine
|
||
|
|
||
|
include ../functions.mk
|
||
|
|
||
|
.PHONY: clean all
|
||
|
|
||
|
LIBNAME = capstone
|
||
|
|
||
|
CFLAGS += -I../include -I.
|
||
|
LDFLAGS += -O3 -Wall -L.. -l$(LIBNAME)
|
||
|
|
||
|
TARGET = cstool
|
||
|
SOURCES := $(wildcard *.c)
|
||
|
OBJECTS := $(SOURCES:.c=.o)
|
||
|
|
||
|
LIBCAPSTONE = libcapstone.a
|
||
|
|
||
|
IS_CYGWIN := $(shell $(CC) -dumpmachine 2>/dev/null | grep -i cygwin | wc -l)
|
||
|
ifeq ($(IS_CYGWIN),1)
|
||
|
LIBCAPSTONE = capstone.lib
|
||
|
else
|
||
|
IS_MINGW := $(shell $(CC) --version 2>/dev/null | grep -i "\(mingw\|MSYS\)" | wc -l)
|
||
|
ifeq ($(IS_MINGW),1)
|
||
|
LIBCAPSTONE = capstone.lib
|
||
|
endif
|
||
|
endif
|
||
|
|
||
|
all: $(TARGET)
|
||
|
|
||
|
$(TARGET): ../$(LIBCAPSTONE) $(OBJECTS)
|
||
|
ifeq ($(V),0)
|
||
|
$(call log,LINK,$@)
|
||
|
@${CC} $(OBJECTS) $(LDFLAGS) -o $@
|
||
|
else
|
||
|
${CC} $(OBJECTS) $(LDFLAGS) -o $@
|
||
|
endif
|
||
|
|
||
|
clean:
|
||
|
${RM} -rf *.o $(TARGET)
|
||
|
|
||
|
%.o: %.c
|
||
|
ifeq ($(V),0)
|
||
|
$(call log,CC,$@)
|
||
|
@${CC} $(CFLAGS) -c $< -o $@
|
||
|
else
|
||
|
${CC} $(CFLAGS) -c $< -o $@
|
||
|
endif
|