CC=gcc
CFLAGS=-Wall -Werror -pedantic -fpic -g -std=c89 -Wextra


LIBSDIR=-L/usr/lib -L../Libs
INCLUDEDIR=-I/usr/include -I. -I../LibMatrix

#Library variables
LIBTARGET=libGui.so
LIBSOURCE=pixel
LIBSOURCECFILE=$(LIBSOURCE:=.c)
LIBSOURCEOFILE=$(LIBSOURCE:=.o)

DEPENDENCELIST=libMatrix.so
DEPENDENCENAMELIST=Matrix

EXTLIBS=`sdl2-config --cflags --libs`

#Generating the library binary
$(LIBTARGET): $(LIBSOURCEOFILE)
	@echo "\n Generating the library binary"
	$(CC) $(CFLAGS) $(LIBSDIR) $(EXTLIBS) -l$(DEPENDENCENAMELIST) -shared $(LIBSOURCEOFILE) -o ../Libs/$(LIBTARGET)

#Generating object files
.c.o:
	@echo "\n Generating " $@ " from " $<
	$(CC) $(CFLAGS) $(INCLUDEDIR) -c -o $@ $<

#Cleaning
clean:
	@echo "\n Cleaning"
	rm -rf *.o *.exe *.so