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.
47 lines
883 B
47 lines
883 B
# 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
|
|
|