CC = cc
#CFLAGS = -std=c99 -O3 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2
CFLAGS = -g -std=c99 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2

all: vecx
	echo All up to date
     
vecx: src/emu/e6809.o src/emu/e8910.o src/emu/e6522.o src/emu/edac.o src/emu/vecx.o src/emu/trace.o src/ser.o src/main.o Makefile 
	$(CC) -o vecx src/emu/e6809.o src/emu/e8910.o src/emu/e6522.o src/emu/edac.o src/emu/vecx.o src/emu/trace.o src/ser.o src/main.o -L/usr/lib/i386-linux-gnu -lSDL2 -L/usr/local/lib -lSDL2_image

src/emu/e6809.o: src/emu/e6809.c src/emu/e6809.h src/emu/trace.h
	$(CC) $(CFLAGS)    -c -o src/emu/e6809.o src/emu/e6809.c

src/emu/e8910.o: src/emu/e8910.c src/emu/e8910.h
	$(CC) $(CFLAGS)     -c -o src/emu/e8910.o src/emu/e8910.c

src/emu/e6522.o: src/emu/e6522.c src/emu/e6522.h
	$(CC) $(CFLAGS)     -c -o src/emu/e6522.o src/emu/e6522.c

src/emu/edac.o: src/emu/edac.c src/emu/edac.h src/emu/e6522.h
	$(CC) $(CFLAGS)     -c -o src/emu/edac.o src/emu/edac.c

src/emu/vecx.o: src/emu/vecx.c src/emu/vecx.h src/emu/e6809.h src/emu/e6522.h src/emu/e8910.h src/emu/edac.h
	$(CC) $(CFLAGS)     -c -o src/emu/vecx.o src/emu/vecx.c

src/emu/trace.o: src/emu/trace.c src/emu/trace.h src/emu/e6809.h
	$(CC) $(CFLAGS)     -c -o src/emu/trace.o src/emu/trace.c

src/ser: src/ser.c src/ser.h src/emu/e6522.h src/emu/e6809.h src/emu/e8910.h src/emu/edac.h src/emu/vecx.h
	$(CC) $(CFLAGS)     -c -o src/ser.o src/ser.c

src/main.o: src/main.c src/ser.h src/emu/vecx.h src/emu/edac.h src/emu/e6522.h src/emu/e8910.h src/emu/e6809.h
	$(CC) $(CFLAGS)     -c -o src/main.o src/main.c

clean:
	rm -f vecx src/emu/e6809.o src/emu/e8910.o src/emu/e6522.o src/emu/edac.o src/emu/trace.o src/emu/vecx.o src/ser.o src/main.o 
