;;; ede/proj-comp.el --- EDE Generic Project compiler/rule driver
-;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2011
-;; Free Software Foundation, Inc.
+;; Copyright (C) 1999-2001, 2004-2005, 2007, 2009-2015 Free Software
+;; Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Keywords: project, make
: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
(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
: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.")
(def-edebug-spec ede-pmake-insert-variable-shared (form def-body))
))
-;;; Querys
+;;; Queries
(defun ede-proj-find-compiler (compilers sourcetype)
"Return a compiler from the list COMPILERS that will compile SOURCETYPE."
(while (and compilers
(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"))
(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")))