Dans mon GNUmakefile, je voudrais avoir une règle qui utilise un répertoire temporaire. Par exemple:
out.tar: TMP := $(shell mktemp -d)
echo hi $(TMP)/hi.txt
tar -C $(TMP) cf $@ .
rm -rf $(TMP)
Comme l'écrit, la règle ci-dessus crée le répertoire temporaire au moment où la règle est analysée. Cela signifie que, même moi, je ne fais pas.de goudron de tous les temps, de nombreux répertoires temporaires créées. Je tiens à éviter mon /tmp étant jonché de inutilisés des répertoires temporaires.
Est-il un moyen de provoquer la variable à être définies uniquement lorsque la règle est déclenchée, par opposition à chaque fois qu'il est défini?
Ma principale de la pensée est de faire un dump de la mktemp et de goudron dans un script shell, mais qui semble un peu disgracieux.