Documentation de la bibliothèque MLV-0.5

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 les OBJECT il y ai un objet de même nom que celui de TARGET
#
TARGET= main

#
# Mettre ici l'ensemble des fichiers objets nécessaires aux programmes 
# (les fichiers peuvent se situer 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
#
LDFLAGS = `pkg-config --libs-only-other --libs-only-L MLV`

#
# Mettre ici les noms des bibliothèques et leurs locations.
# Par exemple (-lpthread ou -L/directory)
#
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 "$<" | sed 's,\($*\)\.c,\1.o $@,' )'  $< > $@
 
include $(INCLUDE_DEPENDS)
 
clean:
	-rm -f $(TARGET)
	-rm -f $(OBJECTS)
	-rm -f $(DEPENDS)