Ceci est une ancienne révision du document !
Makefile
Afficher ce que lance Make
make SHELL='sh -x' <commande>
ou (au moins avec cmake):
make VERBOSE=1
Mode verbeux natif de make: jouer avec l'option –debug|-d.
Règles implicites
Pour chaque truc.c, Makefile sait implicitement qu'il faut exécuter $(CC) $(CFLAGS) $< -o $@ $(LDLIBS)
Il suffit alors d'avoir ce genre de Makefile:
CC=gcc CFLAGS=-W -Wall -ansi -pedantic # pour exécuter du shell, utiliser l'anti-apostrophe LDFLAGS= # Extra flags to give to compilers when they are supposed to invoke the linker, ‘ld’, such as -L. LDLIBS= # les -lfoo EXEC=hello all: $(EXEC) clean: rm -f $(EXEC)
Voir la doc: https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html
Variables internes
$@: cible$<: première dépendance$^: toutes les dépendances$?: liste des dépendances plus récentes que la cible