#CROSS_COMPILE = arm-none-eabi- OS = linux CC = $(CROSS_COMPILE)gcc LD = $(CC) #CFLAGS = -mcpu=cortex-m33 -mthumb CFLAGS += -Wall -Werror -Wshadow CFLAGS += -I src CFLAGS += -g #-Ofast #CFLAGS += -DF6502_FLAT #CFLAGS += -DF6502_TEST #CFLAGS += -DF6502_HCF #CFLAGS += -DF6502_TRACE OBJDIR = obj SRCDIR = src BINDIR = bin TEST_SRC_SRCS = f6502.c f6502_opcodes.c TEST_SRCS = test.c TEST_SRCS += $(TEST_SRC_SRCS:%=$(SRCDIR)/%) TEST_OBJS = $(TEST_SRCS:%.c=$(OBJDIR)/%.o) MAPDIR = $(SRCDIR)/map NESE_SRC_SRCS = f6502.c f6502_opcodes.c NESE_SRC_SRCS += nese.c nes.c cart.c mapper.c NESE_SRC_SRCS += ppu.c NESE_SRC_SRCS += $(OS)/port.c NESE_MAP_SRCS = $(notdir $(wildcard $(MAPDIR)/*.c)) NESE_DEBUG = CART NESE_SRCS += $(NESE_SRC_SRCS:%=$(SRCDIR)/%) NESE_SRCS += $(NESE_MAP_SRCS:%=$(MAPDIR)/%) NESE_OBJS = $(NESE_SRCS:%.c=$(OBJDIR)/%.o) all: $(BINDIR)/nese $(BINDIR)/test: CFLAGS += -DF6502_FLAT -DF6502_TEST -DF6502_TRACE $(BINDIR)/nese: CFLAGS += $(foreach debug,$(NESE_DEBUG), -DDEBUG_$(debug)) $(BINDIR)/nese: $(NESE_OBJS) @mkdir -p $(@D) $(LD) $^ $(LDFLAGS) -o $@ $(OBJDIR)/%.o : %.c @mkdir -p $(@D) $(CC) $(CFLAGS) -c $< -o $@ clean: rm -rf $(OBJDIR) $(BINDIR)