NESe (pronounced "Nessie") is a NES emulator based on the e6502 emulator, also written in C with a focus on speed and portability for use on embedded platforms, especially ARM.
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

49 рядки
878B

  1. CC = gcc
  2. LD = $(CC)
  3. PFLAGS = -g
  4. #PFLAGS += -DDEBUG_MAPPER
  5. #PFLAGS += -DDEBUG_RENDER
  6. #PFLAGS += -DDEBUG_PPU
  7. #PFLAGS += -DE6502_DEBUG
  8. CFLAGS = $(PFLAGS) -Wall -Werror -Wshadow -I..
  9. LDFLAGS = $(PFLAGS)
  10. OBJDIR = obj
  11. SRCDIR = src
  12. BINDIR = bin
  13. # nese
  14. TARGET_1 = nese
  15. LDLIBS_1 = -lSDL2
  16. SRC_SRCS_1 = nese.c ines.c
  17. SRC_SRCS_1 += nes.c ppu.c input.c
  18. SRC_SRCS_1 += cart.c mapper.c
  19. SRC_SRCS_1 += sdl_render.c sdl_input.c
  20. MAPDIR = src/map
  21. MAP_SRCS_1 = nrom.c mmc1.c cnrom.c mmc3.c
  22. EXT_SRCS_1 = e6502/e6502.c e6502/opcodes.c
  23. SRCS_1 = $(SRC_SRCS_1:%=$(SRCDIR)/%)
  24. SRCS_1 += $(MAP_SRCS_1:%=$(MAPDIR)/%)
  25. SRCS_1 += $(EXT_SRCS_1)
  26. OBJS_1 = $(SRCS_1:%.c=$(OBJDIR)/%.o)
  27. all: $(BINDIR)/$(TARGET_1)
  28. clean: ; rm -rf $(OBJDIR) $(BINDIR)
  29. $(BINDIR)/$(TARGET_1): $(OBJS_1)
  30. @mkdir -p $(@D)
  31. $(LD) $(LDFLAGS) $^ $(LDLIBS_1) -o $@
  32. $(OBJDIR)/%.o: %.c
  33. @mkdir -p $(@D)
  34. $(CC) $(CFLAGS) -c $< -o $@