view Makefile @ 59:b15187a99d6f default tip

Add a command line option for printing out label addresses on the command line. Useful for debugging purposes.
author Michael Pavone <pavone@retrodev.com>
date Wed, 07 Sep 2016 23:15:27 -0700
parents c677507682e3
children
line wrap: on
line source

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

CFLAGS:=$(shell pkg-config --cflags-only-I sdl2) $(CFLAGS)
LDFLAGS:=$(shell pkg-config --libs sdl2)

all : $(TARGETDIR) $(TARGETDIR)/s16 $(TARGETDIR)/asm

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

$(TARGETDIR)/s16 : $(TARGETDIR)/main.o $(TARGETDIR)/cpu.o $(TARGETDIR)/vdp.o $(TARGETDIR)/audio.o $(TARGETDIR)/timer.o $(TARGETDIR)/controller.o $(TARGETDIR)/system_sdl.o 
	$(CC) -o $@ $^ $(LDFLAGS)
	
$(TARGETDIR)/asm : $(TARGETDIR)/asm.o $(TARGETDIR)/mnemonics.o
		$(CC) -o $@ $^ $(LDFLAGS)

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