Documentation de la bibliothèque MLV-3.1.0

Outils de compilation automatique

Cette page présente trois façon différentes d'écrire un Makefile pour votre projet MLV.

Compilation simplifiée avec un makefile

Vous pouvez aussi utiliser le makefile suivant, en modifiant le champs TARGET pour mettre le nom de vos différents programmes.

TARGETS = programme1 programme2 programme3

##########################################################

CFLAGS = -g -O2 -Wall `pkg-config --cflags MLV`
LDFLAGS = `pkg-config --libs-only-other --libs-only-L MLV`
LDLIBS = `pkg-config --libs-only-l MLV`

all: $(TARGETS)

clean:
        -rm -rf $(TARGETS)

Compilation avancée avec un makefile

Vous pouvez aussi utiliser le makefile suivant, en modifiant les champs TARGET et OBJECTS pour mettre respectivement le nom et les codes sources de votre programme.

#
# Mettre ici le nom de votre programme 
# (il faut que dans OBJECTS il y ait au moins un objet de même nom que TARGET.
#
TARGET= main

#
# Mettre ici l'ensemble des fichiers objets nécessaires aux programmes 
# (les fichiers peuvent être situés dans des répertoires)
#
OBJECTS=  main.o affiche.o

#
# Mettre ici vos options de compilation.
#
CFLAGS= -DDEBUG -g -Wall `pkg-config --cflags MLV`

#
# Mettre ici les options qui devront être passées à l'éditeur de liens.
# Par exemple : -L/directory
#
LDFLAGS = `pkg-config --libs-only-other --libs-only-L MLV`

#
# Mettre ici les noms des bibliothèques et leurs locations.
# Par exemple : -lpthread
#
LDLIBS=`pkg-config --libs-only-l MLV`

 
###############################################################################

DEPENDS=$(OBJECTS:.o=.d)
INCLUDE_DEPENDS=$(foreach i,$(DEPENDS),$(wildcard $(i)))
 
all: $(TARGET)
 
$(TARGET): $(DEPENDS) $(OBJECTS)
        $(CC) -o $@ $(LDFLAGS) $(OBJECTS) $(LDLIBS)
 
%.d:%.c
        $(CC) -M $(CFLAGS) -MT '$(shell echo "$&lt;" |sed 's,\($*\)\.c,\1.o $@,' )'  < > $@
 
include $(INCLUDE_DEPENDS)
 
clean:
        -rm -f $(TARGET)
        -rm -f $(OBJECTS)
        -rm -f $(DEPENDS)

Génération d'une Makefile avec CMake

Pour compiler votre programme en utilisant CMake, commencez par créer un répertoire pour votre projet que vous apellerez mlv_example.

Ensuite, dans ce dossier, mettez le code source de votre programme example_mlv.c, puis, ajouter dans ce répertoire, un fichier CMakeLists.txt qui contiendra les instructions suivantes:

cmake_minimum_required (VERSION 2.6)

project (mlv_example)

find_package(PkgConfig REQUIRED)
pkg_check_modules(MLV REQUIRED MLV)

add_executable(mlv_program example_mlv.c example_mlv.h)

target_link_libraries(mlv_program ${MLV_LIBRARIES})
target_include_directories(mlv_program PUBLIC ${MLV_INCLUDE_DIRS})
target_compile_options(mlv_program PUBLIC ${MLV_CFLAGS_OTHER})

Créez maintenant un répertoire de compilation de nom build en tapant la commande :

mkdir build

Une fois prêt, vous pouvez générer votre Makefile en tapant la commande :

cd build
cmake ..

Vous pouvez compiler votre projet à l'aide de la commande :

make

Dans le répertoire build se trouve normalement le programme mlv_program.