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文字以内のものにしてください。

52 行
1017B

  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 += -DDEBUG_APU
  9. #PFLAGS += -DE6502_DEBUG
  10. CFLAGS = $(PFLAGS) -Wall -Werror -Wshadow -Wunused -I..
  11. LDFLAGS = $(PFLAGS)
  12. OBJDIR = obj
  13. SRCDIR = src
  14. BINDIR = bin
  15. # nese
  16. TARGET_1 = nese
  17. LDLIBS_1 = -lSDL2
  18. SRC_SRCS_1 = nese.c ines.c
  19. SRC_SRCS_1 += nes.c ppu.c input.c
  20. SRC_SRCS_1 += cart.c mapper.c
  21. SRC_SRCS_1 += apu.c audio.c
  22. SRC_SRCS_1 += sdl_render.c sdl_input.c sdl_audio.c
  23. MAPDIR = src/map
  24. MAP_SRCS_1 = nrom.c mmc1.c uxrom.c cnrom.c mmc3.c
  25. EXT_SRCS_1 = e6502/e6502.c e6502/opcodes.c blip-buf/blip_buf.c
  26. SRCS_1 = $(SRC_SRCS_1:%=$(SRCDIR)/%)
  27. SRCS_1 += $(MAP_SRCS_1:%=$(MAPDIR)/%)
  28. SRCS_1 += $(EXT_SRCS_1)
  29. OBJS_1 = $(SRCS_1:%.c=$(OBJDIR)/%.o)
  30. all: $(BINDIR)/$(TARGET_1)
  31. clean: ; rm -rf $(OBJDIR) $(BINDIR)
  32. $(BINDIR)/$(TARGET_1): $(OBJS_1)
  33. @mkdir -p $(@D)
  34. $(LD) $(LDFLAGS) $^ $(LDLIBS_1) -o $@
  35. $(OBJDIR)/%.o: %.c
  36. @mkdir -p $(@D)
  37. $(CC) $(CFLAGS) -c $< -o $@