mirror of
https://gitlab.com/klmp200/LO27.git
synced 2024-12-22 22:41:09 +00:00
52 lines
1.1 KiB
Makefile
52 lines
1.1 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
|
|
|
|
|
|
LIBSDIR=-L/usr/lib -L./Libs
|
|
INCLUDEDIR=-I/usr/include -I. -I./LibAutomaton
|
|
|
|
#Exe test variables
|
|
TARGET=main.exe
|
|
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) -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
|