Update CEDET from upstream.
[bpt/emacs.git] / lisp / cedet / ede / proj-comp.el
index e73d586..87a722e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; ede/proj-comp.el --- EDE Generic Project compiler/rule driver
 
-;; Copyright (C) 1999, 2000, 2001, 2004, 2005, 2007, 2009, 2010
+;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2012
 ;;   Free Software Foundation, Inc.
 
 ;; Author: Eric M. Ludlam <zappo@gnu.org>
@@ -83,7 +83,7 @@ For example, yacc/lex files need additional chain rules, or inferences.")
            :documentation
            "The commands used to execute this compiler.
 The object which uses this compiler will place these commands after
-it's rule definition.")
+its rule definition.")
    (autoconf :initarg :autoconf
             :initform nil
             :type list
@@ -97,8 +97,8 @@ use the same autoconf form.")
    (objectextention :initarg :objectextention
                    :type string
                    :documentation
-                   "A string which is the extention used for object files.
-For example, C code uses .o on unix, and Emacs Lisp uses .elc.")
+                   "A string which is the extension used for object files.
+For example, C code uses .o on Unix, and Emacs Lisp uses .elc.")
    )
   "A program used to compile or link a program via a Makefile.
 Contains everything needed to output code into a Makefile, or autoconf
@@ -149,7 +149,7 @@ belonging to the target name.")
          :type list
          :custom (repeat string)
          :documentation "Scripts to execute.
-These scripst will be executed in sh (Unless the SHELL variable is overriden).
+These scripts will be executed in sh (Unless the SHELL variable is overridden).
 Do not prefix with TAB.
 Each individual element of this list can be either a string, or
 a lambda function.  (The custom element does not yet express that.")
@@ -236,7 +236,7 @@ This will prevent rules from creating duplicate variables or rules."
 
 ;;; Methods:
 (defmethod ede-proj-tweak-autoconf ((this ede-compilation-program))
-  "Tweak the configure file (current buffer) to accomodate THIS."
+  "Tweak the configure file (current buffer) to accommodate THIS."
   (mapcar
    (lambda (obj)
      (cond ((stringp obj)
@@ -248,7 +248,7 @@ This will prevent rules from creating duplicate variables or rules."
    (oref this autoconf)))
 
 (defmethod ede-proj-flush-autoconf ((this ede-compilation-program))
-  "Flush the configure file (current buffer) to accomodate THIS."
+  "Flush the configure file (current buffer) to accommodate THIS."
   nil)
 
 (defmacro proj-comp-insert-variable-once (varname &rest body)
@@ -319,7 +319,7 @@ Not all compilers do this."
 
 (defmethod ede-proj-makefile-insert-rules ((this ede-makefile-rule))
   "Insert rules needed for THIS rule object."
-  (if (oref this phony) (insert ".PHONY: (oref this target)\n"))
+  (if (oref this phony) (insert ".PHONY: " (oref this target) "\n"))
   (insert (oref this target) ": " (oref this dependencies) "\n\t"
          (mapconcat (lambda (c) c) (oref this rules) "\n\t")
          "\n\n"))
@@ -331,15 +331,16 @@ compiler it decides to use after inserting in the rule."
   (when (slot-boundp this 'commands)
     (with-slots (commands) this
       (mapc
-       (lambda (obj) (insert "\t"
-                            (cond ((stringp obj)
-                                   obj)
-                                  ((and (listp obj)
-                                        (eq (car obj) 'lambda))
-                                   (funcall obj))
-                                  (t
-                                   (format "%S" obj)))
-                            "\n"))
+       (lambda (obj) (insert
+                     (if (bolp) "\t" " ")
+                     (cond ((stringp obj)
+                            obj)
+                           ((and (listp obj)
+                                 (eq (car obj) 'lambda))
+                            (funcall obj))
+                           (t
+                            (format "%S" obj)))
+                     "\n"))
        commands))
     (insert "\n")))
 
@@ -355,5 +356,4 @@ compiler it decides to use after inserting in the rule."
 
 (provide 'ede/proj-comp)
 
-;; arch-tag: ade67766-1a5d-467a-826a-93e95594d717
 ;;; ede/proj-comp.el ends here