C'è anche eProject: http://wiki.github.com/jrockway/eproject
Questo approccio fornirà la massima funzionalità, se si è disposti a scrivere qualche Lisp per fare esattamente quello che vuoi. Eproject si occupa della gestione dei progetti, a questo si aggiunge lo zucchero. (. EProject viene fornito con eProject-extras, che è utile e serve come un esempio di come scrivere le proprie funzioni di utilità)
Per le vostre esigenze, una funzione come questa sarebbe sufficiente:
(defun compile-my-c-project()
(interactive)
(compile (format "gcc %s -o %s"
(reduce (lambda (a b) (format "%s %s" a b))
(eproject-list-project-files)) ;; perhaps filter here
(eproject-name)))
Questa volontà prendi tutti i "file di progetto" e produci un eseguibile che prende il nome del progetto (di solito la directory contenente, ma puoi cambiarlo nel file .eproject).
I "file di progetto" possono essere dichiarati nella definizione del tipo di progetto o tramite il file .eproject. Vedi il wiki per gli esempi.
(Si noti che usiamo il comando "compilazione" qui, in modo che C-x `lavora per la navigazione ad errori.)
come un makefile? – Cheeso
@Cheeso - Sto cercando di evitare i makefile, per quanto posso. Non sono davvero una soluzione felice su Windows, e non sono davvero felice con fortran/python. – Rook
hmm. ok. perché i makefile non vanno bene su Windows ?? Inoltre non capisco cosa hanno a che fare fortran e python, ho pensato che stavi chiedendo di compilare da emacs. – Cheeso