mirror of
https://gitlab.com/klmp200/LO27.git
synced 2024-12-23 04:41:09 +00:00
57 lines
1.2 KiB
Makefile
57 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
|
|
|
|
|
|
LIBSDIR=-L/usr/lib -L./Libs
|
|
INCLUDEDIR=-I/usr/include -I. -I./LibCell -I./LibList
|
|
|
|
#Exe test variables
|
|
TARGET=main.exe
|
|
SOURCE=main
|
|
|
|
SOURCECFILE=$(SOURCE:=.c)
|
|
SOURCEOFILE=$(SOURCE:=.o)
|
|
|
|
#Library variables
|
|
DEPENDENCE=libCellElement.so
|
|
DEPENDENCENAME=CellElement
|
|
|
|
DEPENDENCELIST=libList.so
|
|
DEPENDENCENAMELIST=List
|
|
|
|
|
|
all: $(TARGET)
|
|
|
|
#Generating the main.exe
|
|
$(TARGET): $(SOURCEOFILE) $(DEPENDENCELIST) lib
|
|
@echo "\n Generating the " $(TARGET) " binary"
|
|
$(CC) $(SOURCEOFILE) $(LIBSDIR) -l$(DEPENDENCENAME) -l$(DEPENDENCENAMELIST) -o $(TARGET)
|
|
|
|
#Generating the library binary
|
|
lib:
|
|
@echo "\n Generating the automaton library binary"
|
|
mkdir -p Libs
|
|
$(MAKE) -C LibCell
|
|
|
|
$(DEPENDENCELIST):
|
|
@echo "\n Generating the list library binary"
|
|
$(MAKE) -C LibList
|
|
|
|
|
|
#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 LibCell clean
|
|
$(MAKE) -C LibList clean
|