aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Ludlam2015-08-09 11:03:09 -0400
committerDavid Engster2017-01-22 22:25:16 +0100
commit6d6b045ab6a64480fd8266f7a727174cfec397e7 (patch)
treeb6c49debc7ee24eb10ea2426036d7e91da7614db
parent0a2b38be2b1d311575b53dcee349ddd49e466871 (diff)
downloademacs-6d6b045ab6a64480fd8266f7a727174cfec397e7.tar.gz
emacs-6d6b045ab6a64480fd8266f7a727174cfec397e7.zip
EDE: Improve Emacs project type
* lisp/cedet/ede/emacs.el (ede-emacs-target-texi): New. (ede-find-target): Add texi support. (project-compile-project) (ede-compile-target) (ede-compile-target) (ede-compile-target): New
-rw-r--r--lisp/cedet/ede/emacs.el41
1 files changed, 41 insertions, 0 deletions
diff --git a/lisp/cedet/ede/emacs.el b/lisp/cedet/ede/emacs.el
index cac66fa7348..2797533f197 100644
--- a/lisp/cedet/ede/emacs.el
+++ b/lisp/cedet/ede/emacs.el
@@ -136,6 +136,11 @@ All directories need at least one target.")
136 "EDE Emacs Project target for Emacs Lisp code. 136 "EDE Emacs Project target for Emacs Lisp code.
137All directories need at least one target.") 137All directories need at least one target.")
138 138
139(defclass ede-emacs-target-texi (ede-target)
140 ()
141 "EDE Emacs Project target for Emacs Lisp code.
142All directories need at least one target.")
143
139(defclass ede-emacs-target-misc (ede-target) 144(defclass ede-emacs-target-misc (ede-target)
140 () 145 ()
141 "EDE Emacs Project target for Misc files. 146 "EDE Emacs Project target for Misc files.
@@ -186,6 +191,8 @@ If one doesn't exist, create a new one for this directory."
186 'ede-emacs-target-c) 191 'ede-emacs-target-c)
187 ((string-match "elc?" ext) 192 ((string-match "elc?" ext)
188 'ede-emacs-target-el) 193 'ede-emacs-target-el)
194 ((string-match "texi" ext)
195 'ede-emacs-target-texi)
189 (t 'ede-emacs-target-misc))) 196 (t 'ede-emacs-target-misc)))
190 (targets (oref proj targets)) 197 (targets (oref proj targets))
191 (dir default-directory) 198 (dir default-directory)
@@ -282,6 +289,40 @@ Knows about how the Emacs source tree is organized."
282 (oset this version (cdr ver)) 289 (oset this version (cdr ver))
283 )) 290 ))
284 291
292;;; Compile Support
293;;
294(defmethod project-compile-project ((proj ede-emacs-project) &optional command)
295 "Compile the Emacs project.
296Argument COMMAND is the command to use when compiling."
297 (let ((default-directory (ede-project-root-directory proj)))
298 (require 'compile)
299 (compile "make all")))
300
301(defmethod project-compile-target ((proj ede-emacs-target-texi) &optional command)
302 "Compile the doc target for Emacs.
303Argument COMMAND is the command to use for compiling the target."
304 (let* ((default-directory (ede-project-root-directory (ede-current-project)))
305 (command "make docs"))
306 (require 'compile)
307 (compile command)))
308
309(defmethod project-compile-target ((proj ede-emacs-target-el) &optional command)
310 "Compile the doc target for Emacs.
311Argument COMMAND is the command to use for compiling the target."
312 (let* ((default-directory (ede-project-root-directory (ede-current-project)))
313 (command "make lisp"))
314 (require 'compile)
315 (compile command)))
316
317(defmethod project-compile-target ((proj ede-emacs-target-c) &optional command)
318 "Compile the doc target for Emacs.
319Argument COMMAND is the command to use for compiling the target."
320 (let* ((default-directory (ede-project-root-directory (ede-current-project)))
321 (command "make src"))
322 (require 'compile)
323 (compile command)))
324
325
285(provide 'ede/emacs) 326(provide 'ede/emacs)
286 327
287;; Local variables: 328;; Local variables: