Sono uno studente di ingegneria informatica e devo ancora un altro programma C da implementare. Fino ad ora creo sempre un nuovo Makefile dai miei progetti precedenti e questo richiede tempo per essere configurato ogni volta. C'è una tela Makefile potrei usare che è così potente che tutti avrei bisogno di fornire è il nome del file C che contengono una funzione principale?Alla ricerca del perfetto tela Makefile
La mia idea sarebbe che per ogni nuovo progetto, creo una cartella contenente quello Makefile
, una cartella bin e una cartella src. Vorrei quindi modificare alcune variabili al Makefile (i file C contenenti una funzione main()
) e poi make
vorrei costruire automaticamente tutto, tenendo conto delle dipendenze.
fa a sapere se un tale Makefile
esiste?
[modifica via Alexandre C.]: Automake/Autoconf sono overkills per questo tipo di progetti che utilizzano solo librerie standard ed eseguono su unix standard os '. Per i progetti di cui abbiamo bisogno per implementare, le dipendenze (per i file da essere collegati) può essere sempre deduce dalla ".h" include e non v'è in genere molto pochi file coinvolti.
Ho creato diversi modelli di Makefile in passato, con più o meno elementi (generazione automatica delle dipendenze, ecc.). Il meglio è ancora quello di lanciare il tuo usando l'ottima documentazione di Gnu Make. Puoi anche usare cose come 'src = $ (shell find. -name" * .c ")', o '$ (grep -H" main (")'. Non è molto difficile, e ti senti come se controllassi il tuo ambiente –
@AlexandreC. potresti fornire uno script o un Makefile che potrei usare per scrivere il mio? – Mat
@Mat: Ce ne sono molti su internet (esempio [http://en.wikipedia.org/wiki/Media/ makefile/makefile-automatic-dependencies-with-makedepend.html)). Vi consiglio caldamente di consultare la documentazione di Gnu Make.Ci vuole meno di un pomeriggio per diventare un esperto di Make, e questa conoscenza sarà molto utile nella tua carriera. In particolare, impara a usare le regole integrate (in modo da sapere quando lasciarle). –