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.
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

49 lignes
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 $@