Nel mio GNUmakefile, vorrei avere una regola che utilizza una directory temporanea. Per esempio:
out.tar: TMP := $(shell mktemp -d)
echo hi $(TMP)/hi.txt
tar -C $(TMP) cf $@ .
rm -rf $(TMP)
Come scritto, la regola sopra crea la directory temporanea nel momento in cui la regola viene analizzata . Ciò significa che, anche se non lo capisco sempre, vengono create molte directory temporanee. Vorrei evitare che il mio / tmp sia disseminato di directory temporanee inutilizzate.
C'è un modo per far sì che la variabile venga definita solo quando la regola viene attivata, al contrario di quando viene definita?
Il mio pensiero principale è di scaricare mktemp e tar in uno script di shell, ma sembra un po 'sgradevole.