1
0
mirror of https://gitlab.com/klmp200/LO27.git synced 2024-12-23 04:11:09 +00:00
LO27/Makefile
2016-12-27 01:43:49 +01:00

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