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 [2020/08/27 09:53] – ↷ Nom de la page changé de make à makefile phsw | makefile [2024/02/24 18:50] (Version actuelle) – [Makefile] add link phsw | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== | + | ====== |
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | Les commandes sont à indenter avec des tabulations. | ||
| Ligne 13: | Ligne 19: | ||
| </ | </ | ||
| + | Mode verbeux natif de make: jouer avec l' | ||
| + | |||
| + | |||
| + | |||
| + | ==== Règles implicites ==== | ||
| + | |||
| + | Pour chaque '' | ||
| + | |||
| + | Il suffit alors d' | ||
| + | <code bash> | ||
| + | CC=gcc | ||
| + | CFLAGS=-W -Wall -ansi -pedantic # pour exécuter du shell, utiliser l' | ||
| + | LDFLAGS= | ||
| + | LDLIBS= # les -lfoo | ||
| + | EXEC=hello | ||
| + | |||
| + | all: $(EXEC) | ||
| + | |||
| + | clean: | ||
| + | rm -f $(EXEC) | ||
| + | </ | ||
| + | |||
| + | Voir la doc: [[https:// | ||
| + | |||
| + | |||
| + | |||
| + | ==== Variables internes ==== | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | |||
| + | |||
| + | ==== 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) | ||
| + | </ | ||