Ngoài ra còn có eproject: http://wiki.github.com/jrockway/eproject
Cách tiếp cận này sẽ cung cấp các chức năng nhất nếu bạn sẵn sàng để viết một số Lisp để thực hiện chính xác những gì bạn muốn. Eproject xử lý các dự án, bạn thêm đường vào đó. (. Eproject đi kèm với eproject-extras, đó là hữu ích và phục vụ như một ví dụ về cách viết các chức năng tiện ích của riêng bạn)
Đối với nhu cầu của bạn, một chức năng như thế này sẽ đủ:
(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)))
chí này lấy tất cả các "tệp dự án" và tạo một tệp thi hành được đặt tên theo tên của dự án (thường là thư mục chứa, nhưng bạn có thể thay đổi nó trong tệp .eproject).
"Tệp dự án" có thể được khai báo trong định nghĩa loại dự án hoặc thông qua tệp .eproject. Xem wiki để biết ví dụ.
(Lưu ý rằng chúng tôi sử dụng "biên dịch" lệnh ở đây, do đó C-x `làm việc để điều hướng đến sai sót.)
như một makefile? – Cheeso
@Cheeso - Tôi đang cố gắng tránh makefiles, nhiều nhất có thể. Họ không thực sự hài lòng về giải pháp trên windows, và cũng không thực sự hài lòng với fortran/python. – Rook
hmm. được. tại sao makefiles không tốt trên windows ?? Ngoài ra tôi không nhận được những gì fortran và python phải làm với bất cứ điều gì, tôi nghĩ bạn đã hỏi về việc biên dịch từ bên trong các emacs. – Cheeso