forked from camthesaxman/gbadisasm
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathMakefile
More file actions
executable file
·40 lines (31 loc) · 1.04 KB
/
Copy pathMakefile
File metadata and controls
executable file
·40 lines (31 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
CAPSTONE_DIR := capstone
DEBUG ?= 0
USE_SYSTEM_CAPSTONE ?= 1
CFLAGS := -Wall -Wextra -Wpedantic
ifeq ($(DEBUG),1)
CFLAGS += -O0 -g
else
CFLAGS += -O2 -g
endif
CFLAGS += -fsanitize=address
PROGRAM := ndsdisasm
SOURCES := main.c disasm.c
HEADERS := ndsdisasm.h
.PHONY: all capstone
all: $(PROGRAM)
# Compile the program
ifneq ($(USE_SYSTEM_CAPSTONE),1)
$(PROGRAM): $(CAPSTONE_DIR)/libcapstone.a
$(CAPSTONE_DIR)/libcapstone.a: capstone
export PKG_CONFIG_PATH := $(CAPSTONE_DIR)
endif
$(PROGRAM): CFLAGS += $(shell PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" pkg-config --cflags capstone)
$(PROGRAM): LDFLAGS += $(shell PKG_CONFIG_PATH="$(PKG_CONFIG_PATH)" pkg-config --libs capstone)
$(PROGRAM): $(SOURCES) $(HEADERS)
$(CC) $(CFLAGS) -o $@ $(SOURCES) $(LDFLAGS)
# Build libcapstone
capstone:
@$(MAKE) -C $(CAPSTONE_DIR) CAPSTONE_STATIC=yes CAPSTONE_SHARED=no CAPSTONE_ARCHS="arm" CAPSTONE_BUILD_CORE_ONLY=yes PREFIX=$(CAPSTONE_DIR)
clean:
$(RM) $(PROGRAM) $(PROGRAM).exe
@$(MAKE) -C $(CAPSTONE_DIR) clean