# Makefile compiling the whole project # Don't forget before the first compilation to run that command: # export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:./Libs CC=gcc CFLAGS=-Wall -Werror -pedantic -fpic -g -std=c89 EXTLIBS=`sdl2-config --cflags --libs` LIBSDIR=-L/usr/lib -L./Libs INCLUDEDIR=-I/usr/include -I. -I./LibAutomaton #Exe test variables TARGET=main SOURCE=main SOURCECFILE=$(SOURCE:=.c) SOURCEOFILE=$(SOURCE:=.o) DEPENDENCELIST=libAutomaton.so DEPENDENCENAMELIST=Automaton all: $(TARGET) #Generating the main.exe $(TARGET): $(SOURCEOFILE) $(DEPENDENCELIST) lib @echo "\n Generating the " $(TARGET) " binary" mkdir -p build $(CC) $(SOURCEOFILE) $(LIBSDIR) $(EXTLIBS) -l$(DEPENDENCENAMELIST) -o ./build/$(TARGET) #Generating the library binary lib: @echo "\n Generating the automaton library binary" # $(MAKE) -C LibCell $(DEPENDENCELIST): @echo "\n Generating the automaton library binary" mkdir -p Libs $(MAKE) -C LibAutomaton #Generating object files .c.o: @echo "\n Generating " $@ " from " $< $(CC) $(CFLAGS) $(INCLUDEDIR) -c -o $@ $< #Cleaning clean: @echo "\n Cleaning" rm -rf *.o ./Libs/*.so *.exe $(MAKE) -C LibAutomaton clean