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=gui 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