makefile

Ceci est une ancienne révision du document !


Makefile

make SHELL='sh -x' <commande>

ou (au moins avec cmake):

make VERBOSE=1

Mode verbeux natif de make: jouer avec l'option –debug|-d.

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

  • $@: cible
  • $<: première dépendance
  • $^: toutes les dépendances
  • $?: liste des dépendances plus récentes que la cible
  • makefile.1617726555.txt.gz
  • Dernière modification : 2021/04/06 18:29
  • de phsw