mirror of
https://gitlab.com/klmp200/LO27.git
synced 2024-11-05 08:18:03 +00:00
54 lines
1.2 KiB
Makefile
54 lines
1.2 KiB
Makefile
# 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 -I./LibGui
|
|
|
|
#Exe test variables
|
|
TARGET=main
|
|
SOURCE=main
|
|
|
|
SOURCECFILE=$(SOURCE:=.c)
|
|
SOURCEOFILE=$(SOURCE:=.o)
|
|
|
|
DEPENDENCELIST=libAutomaton.so libGui.so
|
|
DEPENDENCENAMEONE=Automaton
|
|
DEPENDENCENAMETWO=Gui
|
|
|
|
|
|
all: $(TARGET)
|
|
#Generating the main.exe
|
|
$(TARGET): $(SOURCEOFILE) $(DEPENDENCELIST) lib
|
|
@echo "\n Generating the " $(TARGET) " binary"
|
|
mkdir -p build
|
|
$(CC) $(SOURCEOFILE) $(LIBSDIR) $(EXTLIBS) -l$(DEPENDENCENAMEONE) -l$(DEPENDENCENAMETWO) -o ./build/$(TARGET)
|
|
|
|
#Generating the library binary
|
|
lib:
|
|
@echo "\n Generating the automaton library binary"
|
|
$(MAKE) -C LibGui
|
|
|
|
$(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
|