CC = gcc LD = $(CC) PFLAGS = -g CFLAGS = $(PFLAGS) -Wall -Werror -Wshadow -I.. LDFLAGS = $(PFLAGS) OBJDIR = obj SRCDIR = src BINDIR = bin # nese TARGET_1 = nese LDLIBS_1 = -lSDL2 SRC_SRCS_1 = nese.c ines.c SRC_SRCS_1 += nes.c ppu.c input.c SRC_SRCS_1 += cart.c mapper.c SRC_SRCS_1 += sdl_render.c sdl_input.c MAPDIR = src/map MAP_SRCS_1 = nrom.c mmc1.c cnrom.c mmc3.c EXT_SRCS_1 = e6502/e6502.c SRCS_1 = $(SRC_SRCS_1:%=$(SRCDIR)/%) SRCS_1 += $(MAP_SRCS_1:%=$(MAPDIR)/%) SRCS_1 += $(EXT_SRCS_1) OBJS_1 = $(SRCS_1:%.c=$(OBJDIR)/%.o) all: $(BINDIR)/$(TARGET_1) clean: ; rm -rf $(OBJDIR) $(BINDIR) $(BINDIR)/$(TARGET_1): $(OBJS_1) @mkdir -p $(@D) $(LD) $(LDFLAGS) $^ $(LDLIBS_1) -o $@ $(OBJDIR)/%.o: %.c @mkdir -p $(@D) $(CC) $(CFLAGS) -c $< -o $@