CC = gcc
LIBS = $(shell sdl-config --libs) -lm -lSDL_image -lSDL_mixer
INCS = $(shell sdl-config --cflags)
OPTIMIZE = -Wall
TARGETS = VSDL.o VSDL_video.o VSDL_sprite.o VSDL_mixer.o VSDL_gl.o VSDL_soft3d.o VSDL_event.o VSDL_info.o

all: lib

VSDL.o: VSDL.cpp VSDL.h
	$(CC) $(OPTIMIZE) -o VSDL.o -c VSDL.cpp
	
VSDL_video.o: VSDL_video.cpp VSDL_video.h 
	$(CC) $(OPTIMIZE) -o VSDL_video.o -c VSDL_video.cpp

VSDL_sprite.o: VSDL_sprite.cpp VSDL_sprite.h
	$(CC) $(OPTIMIZE) -o VSDL_sprite.o -c VSDL_sprite.cpp
	
VSDL_gl.o: VSDL_gl.h VSDL_gl.cpp
	$(CC) $(OPTIMIZE) -o VSDL_gl.o -c VSDL_gl.cpp
	
VSDL_soft3d.o: VSDL_soft3d.h VSDL_soft3d.cpp
	$(CC) $(OPTIMIZE) -o VSDL_soft3d.o -c VSDL_soft3d.cpp

VSDL_mixer.o: VSDL_mixer.h VSDL_mixer.cpp
	$(CC) $(OPTIMIZE) -o VSDL_mixer.o -c VSDL_mixer.cpp

VSDL_event.o: VSDL_event.h VSDL_event.cpp
	$(CC) $(OPTIMIZE) -o VSDL_event.o -c VSDL_event.cpp

VSDL_info.o: VSDL_info.h VSDL_info.cpp
	$(CC) $(OPTIMIZE) -o VSDL_info.o -c VSDL_info.cpp
lib: $(TARGETS) 
	ar crv libVSDL.a $(TARGETS) 
	ranlib libVSDL.a

ess.o: ess.c 
	$(CC) $(OPTIMIZE) -o ess.o -c ess.c 

ess: ess.o VSDL.o VSDL_video.o 
	$(CC) -o ess $(LDFLAGS) VSDL.o VSDL_video.o ess.o

clean:
	#----------- Cleaning VSDL --------------------------------------#
	rm -f *.o *~ libVSDL.a core
