view Makefile @ 9:a3f14b00aead

Modified Makefile to automatically create target directories if they don't already exist
author Michael Pavone <pavone@retrodev.com>
date Sun, 27 Mar 2016 16:15:46 -0700
parents 5176efdda5ae
children 04d8efe7a1f0
line wrap: on
line source

ifdef DEBUG
CFLAGS:=-ggdb $(CFLAGS)
LDFLAGS:=-ggdb $(LDFLAGS)
TARGETDIR:=debug
else
CFLAGS:=-O2
TARGETDIR:=release
endif #DEBUG

all : $(TARGETDIR)/s16

clean :
	rm -f $(TARGETDIR)/*.o $(TARGETDIR)/s16 $(TARGETDIR)/asm
	
$(TARGETDIR) : 
	mkdir $(TARGETDIR)

$(TARGETDIR)/s16 : $(TARGETDIR)/main.o $(TARGETDIR)/cpu.o $(TARGETDIR)/vdp.o
	$(CC) -o $@ $^ $(LDFLAGS)
	
$(TARGETDIR)/asm : $(TARGETDIR)/asm.o $(TARGETDIR)/cpu.o
		$(CC) -o $@ $^ $(LDFLAGS)

$(TARGETDIR)/%.o : src/%.c $(TARGETDIR)
	$(CC) $(CFLAGS) -c -o $@ $<