Vorrei eseguire un'attività in più directory, ma fino ad ora non ho trovato una soluzione "simile al makefile". So che questa è una domanda frequente e so come risolverlo per i sub-makfile e così via, ma sto cercando qualcosa di più semplice.Iterazione di un elenco di directory in un Makefile
Invece di fare
copy:
cd module1 && mkdir foo
cd module2 && mkdir foo
cd module3 && mkdir foo
Mi piacerebbe avere qualcosa di simile
directories = module1 module2 module3
copy: $(directories)
cd $< && mkdir foo
ma che non funziona, dal momento che la ricetta viene chiamato una sola volta con il primo elenco. Sono venuto con questa soluzione che funziona, ma probabilmente non è nello stile di Makefile:
directories = module1 module2 module3
copy:
for d in $(directories); do cd $$d && mkdir foo && cd ..; done
Come posso fare questo più bene?
Grazie, funziona. Ho scelto la soluzione 2 (generare il target 'copy' dal makefile) perché non è legato al caso' mkdir'. Sfortunatamente, non è molto diverso dall'usare una shell-per-loop, ma non importa. – Robert