Mémo.txt 734 Bytes
Appeler un makefile depuis un makefile "maitre".

Dans les makefiles "esclaves", créer les cibles que va appeler le makefile "maitre" (all, clean, debug, etc...)

Pour les appeler à partir du makefile maitre : (ex avec clean)

clean: $(patsubst %, _clean_%, $(DIRS))
$(patsubst %,_clean_%,$(DIRS)):
	cd $(patsubst _clean_%,%,$@) && make clean

Ce que fait la focntion plus haut :
 - parmis la liste des dossiers donné dans la variable DIRS
 - fait un cd au dossier
 - fait un make clean

Les variables d'environnement (export CC, etc...) ne sont pas obligatoire mais permettent d'unifier les plus communes.
Exemple : dans le makefile "eclave" $(CC), n'est pas définit mais le makefile "maitre" le définit avec un export CC=gcc.