;;; ede/proj-obj.el --- EDE Generic Project Object code generation support
-;;; Copyright (C) 1998, 1999, 2000, 2005, 2008, 2009
+;;; Copyright (C) 1998, 1999, 2000, 2005, 2008, 2009, 2010
;;; Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Handles a superclass of target types which create object code in
;; and EDE Project file.
+(eval-when-compile (require 'cl))
(require 'ede/proj)
(declare-function ede-pmake-varname "ede/pmake")
;; fortran or pascal can be added here
))
(availablelinkers :initform (ede-g++-linker
- ;; Add more linker thingies here.
- ede-ld-linker
+ ede-cc-linker
ede-gfortran-linker
+ ede-ld-linker
+ ;; Add more linker thingies here.
))
(sourcetype :initform (ede-source-c
ede-source-c++
:uselinker t)
"Compiler for C sourcecode.")
+(defvar ede-cc-linker
+ (ede-linker
+ "ede-cc-linker"
+ :name "cc"
+ :sourcetype '(ede-source-c)
+ :variables '(("C_LINK" . "$(CC) $(CFLAGS) $(LDFLAGS) -L."))
+ :commands '("$(C_LINK) -o $@ $^")
+ :objectextention "")
+ "Linker for C sourcecode.")
+
(defvar ede-source-c++
(ede-sourcecode "ede-source-c++"
:name "C++"
:name "g++"
;; Only use this linker when c++ exists.
:sourcetype '(ede-source-c++)
- :variables '(("CXX_LINK" .
- "$(CXX) $(CFLAGS) $(LDFLAGS) -L. -o $@")
- )
- :commands '("$(CXX_LINK) $^")
+ :variables '(("CXX_LINK" . "$(CXX) $(CFLAGS) $(LDFLAGS) -L."))
+ :commands '("$(CXX_LINK) -o $@ $^")
:autoconf '("AC_PROG_CXX")
:objectextention "")
"Linker needed for c++ programs.")
"ede-gfortran-linker"
:name "gfortran"
:sourcetype '(ede-source-f90 ede-source-f77)
- :variables '(("F90_LINK" .
- "$(F90) $(CFLAGS) $(LDFLAGS) -L. -o $@")
- )
- :commands '("$(F90_LINK) $^")
+ :variables '(("F90_LINK" . "$(F90) $(CFLAGS) $(LDFLAGS) -L."))
+ :commands '("$(F90_LINK) -o $@ $^")
:objectextention "")
"Linker needed for Fortran programs.")
"ede-ld-linker"
:name "ld"
:variables '(("LD" . "ld")
- ("LD_LINK" .
- "$(LD) $(LDFLAGS) -L. -o $@")
- )
- :commands '("$(LD_LINK) $^")
+ ("LD_LINK" . "$(LD) $(LDFLAGS) -L."))
+ :commands '("$(LD_LINK) -o $@ $^")
:objectextention "")
"Linker needed for c++ programs.")