|
- SHORT_PLATFORM = linux
- ifeq ($(PLATFORM),win64)
- CROSS_COMPILE = x86_64-w64-mingw32-
- EXTENSION = .exe
- SHORT_PLATFORM = win
- LDFLAGS += -lSDL2
- else ifeq ($(PLATFORM),win32)
- CROSS_COMPILE = i686-w64-mingw32-
- EXTENSION = .exe
- SHORT_PLATFORM = win
- LDFLAGS += -lSDL2
- else
- CFLAGS += $(shell sdl2-config --cflags)
- LDFLAGS += $(shell sdl2-config --libs)
- endif
-
- ifneq ($(PLATFORM),)
- PLAT_SUFFIX = -$(PLATFORM)
- endif
-
-
- CC = $(CROSS_COMPILE)gcc
- LD = $(CC)
- RFLAGS += -O3 -s
- RFLAGS += -DSTANDALONE
- DFLAGS += -g
- #DFLAGS += -DDEBUG_MAPPER
- #DFLAGS += -DDEBUG_RENDER
- #DFLAGS += -DDEBUG_PPU -DDEBUG_VRAM -DDEBUG_OAM
- #DFLAGS += -DDEBUG_APU
- #DFLAGS += -DDEBUG_INPUT
- #DFLAGS += -DE6502_DEBUG
- CFLAGS += -DE6502_ILLEGAL
- CFLAGS += $(PFLAGS) -Wall -Werror -Wshadow -Wunused -I../ -Isrc/
- CFLAGS += -Iinc/$(PLATFORM)/SDL2
- LDFLAGS += $(PFLAGS)
- LDFLAGS += -Llib/$(PLATFORM)
-
- OBJDIR = obj$(PLAT_SUFFIX)
- SRCDIR = src
- BINDIR = bin$(PLAT_SUFFIX)
-
-
- # nese
-
- TARGET_1 = nese$(EXTENSION)
-
- SRC_SRCS_1 = nese.c ines.c
- SRC_SRCS_1 += nes.c ppu.c input.c
- SRC_SRCS_1 += cart.c mapper.c
- SRC_SRCS_1 += apu.c audio.c
- SRC_SRCS_1 += file.c save.c
- SRC_SRCS_1 += overlay.c menu.c
- SRC_SRCS_1 += state.c ini.c
- SRC_SRCS_1 += compat.c
- SRC_SRCS_1 += sdl_render.c sdl_input.c sdl_audio.c sdl_timer.c
- SRC_SRCS_1 += sdl_overlay.c sdl_effect.c
-
- PLAT_SRCS_1 = filemap.c
-
- MAPDIR = src/map
- MAP_SRCS_1 = nrom.c mmc1.c uxrom.c cnrom.c mmc3.c
-
- EXT_SRCS_1 = e6502/e6502.c e6502/opcodes.c blip-buf/blip_buf.c
-
- SRCS_1 = $(SRC_SRCS_1:%=$(SRCDIR)/%)
- SRCS_1 += $(MAP_SRCS_1:%=$(MAPDIR)/%)
- SRCS_1 += $(PLAT_SRCS_1:%=src/$(SHORT_PLATFORM)/%)
- SRCS_1 += $(EXT_SRCS_1)
- OBJS_1 = $(SRCS_1:%.c=$(OBJDIR)/%.o)
-
-
- all: debug
-
- debug: EFLAGS=$(DFLAGS)
- release: EFLAGS=$(RFLAGS)
- debug release: $(BINDIR)/$(TARGET_1)
-
- clean: ; rm -rf obj*/ bin*/
-
- $(BINDIR)/$(TARGET_1): $(OBJS_1)
- @mkdir -p $(@D)
- $(LD) $^ $(LDFLAGS) -o $@
-
- $(OBJDIR)/%.o: %.c
- @mkdir -p $(@D)
- $(CC) $(EFLAGS) $(CFLAGS) -c $< -o $@
-
- .PHONY: all debug release clean
|