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.
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

50 líneas
926B

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