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.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 line
762B

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