# Documentation de la bibliothèque MLV-1.2.1

- Presentation
- Téléchargement
- Installation
- Compilation
- Exemples
- API
- Liste des fonctions
- bogues
- FAQ
- contacts

Outils de compilation automatique

# 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)