CC = gcc -O2 -Wno-incompatible-pointer-types
#CC = gcc -g -Wno-incompatible-pointer-types

DEV=-fb

# SDL2_image can be installed by: sudo apt install libsdl2-image-dev

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/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/ser.o src/main.o -L/usr/lib/i386-linux-gnu -lSDL2 -L/usr/local/lib -lSDL2_image -lm

src/emu/e6809.o: src/emu/e6809.c src/emu/e6809.h Makefile 
	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2    -c -o src/emu/e6809.o src/emu/e6809.c

src/emu/e8910.o: src/emu/e8910.c src/emu/e8910.h Makefile 
	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -c -o src/emu/e8910.o src/emu/e8910.c
#	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -Wno-unused-parameter -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -c -o src/emu/e8910.o src/emu/e8910.c

src/emu/e6522.o: src/emu/e6522.c src/emu/e6522.h Makefile 
	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -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 Makefile 
	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -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 Makefile 
	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -c -o src/emu/vecx.o src/emu/vecx.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 Makefile 
	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -c -o src/ser.o src/ser.c

src/main.o: src/main$(DEV).c src/ser.h src/emu/vecx.h src/emu/edac.h src/emu/e6522.h src/emu/e8910.h src/emu/e6809.h src/fbgl.h Makefile 
	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -Wno-misleading-indentation -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -c -o src/main.o src/main$(DEV).c
#	$(CC) -std=c99 -O3 -Wall -Wextra -Wfatal-errors -Wno-misleading-indentation -Wno-unused-result -I/usr/include/SDL2 -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/local/include/SDL2     -c -o src/main.o src/main$(DEV).c

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