Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| makefile [2021/02/08 19:46] – [Règles implicites] precise minimal makefile phsw | makefile [2024/02/24 18:50] (Version actuelle) – [Makefile] add link phsw | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | Les commandes sont à indenter avec des tabulations. | ||
| Ligne 14: | Ligne 18: | ||
| make VERBOSE=1 | make VERBOSE=1 | ||
| </ | </ | ||
| + | |||
| + | Mode verbeux natif de make: jouer avec l' | ||
| + | |||
| Ligne 24: | Ligne 31: | ||
| CC=gcc | CC=gcc | ||
| CFLAGS=-W -Wall -ansi -pedantic # pour exécuter du shell, utiliser l' | CFLAGS=-W -Wall -ansi -pedantic # pour exécuter du shell, utiliser l' | ||
| - | LDFLAGS= | + | LDFLAGS= |
| + | LDLIBS= # les -lfoo | ||
| EXEC=hello | EXEC=hello | ||
| Ligne 32: | Ligne 40: | ||
| rm -f $(EXEC) | rm -f $(EXEC) | ||
| </ | </ | ||
| + | |||
| + | Voir la doc: [[https:// | ||
| Ligne 41: | Ligne 51: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| + | |||
| + | |||
| + | |||
| + | ==== Règles conditionnelles ==== | ||
| + | |||
| + | [[https:// | ||
| + | |||
| + | <code make> | ||
| + | target: | ||
| + | ifeq ($(ENV_VAR), | ||
| + | # Something | ||
| + | else | ||
| + | # Another thing | ||
| + | endif | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Éliminer l' | ||
| + | |||
| + | Il suffit d' | ||
| + | <code make> | ||
| + | RR-babla.pdf: | ||
| + | rubber --pdf --jobname $(basename $@) $< # rubber adds itself the .pdf extension to the output file | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Appeler une commande dans une règle ==== | ||
| + | |||
| + | <code make> | ||
| + | foo: | ||
| + | echo $(shell date) | ||
| + | </ | ||