Un makefile peut en appeller un autre, et même utiliser les variables définies dans le makefile, à condition que ces variables aient été exportées. Dans l'exemple suivant, le makefile appelle le fichier cache
:
all : export HOST_NAME=$(shell uname -n); \ mkdir $$HOST_NAME; INC_FILE = cache include $(INC_FILE)
et le fichier cache contient :
cache_rm : @rmdir $$HOST_NAME