help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [CEDET-devel] ede cedet does not compile .elc


From: Eric M. Ludlam
Subject: Re: [CEDET-devel] ede cedet does not compile .elc
Date: Thu, 13 Feb 2014 20:24:13 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre

Hi Pierre,

Sorry for a late reply.

I believe the problem you are having is that you named your target "hello.elc".

In the test suite I use to test this make style, the target that holds the lisp code is named "Lisp". It then makes a rule like this:

.PHONY: Lisp
Lisp: $(addsuffix c, $(Lisp_LISP))

With your name of hello.elc, it tells make that "hello.elc" depends on "hello.elc". I'm sure that will confuse the system.

I recommend naming your Emacs Lisp targets something that excludes any ".el" or ".elc" extension.

I suppose EDE could try to identify this problem, and strip any suffix off the target name.

Good Luck
Eric

On 02/09/2014 02:52 AM, Pierre Lorenzon wrote:

Hi,

When changing Make project to Automake it works. But it
produces a much more complicated Makefile that is not
necessarily useful for simple lisp projects.


When manually removing the phony target from the Makefile
produced by the Make type project it works as well. Maybe is my
knowledge of Makefile not sufficient to understand why there is
this phony target but anyway I suspect that it can safely be
removed ! In previous versions there was only the phony target
and not the implicit rule %.elc: %.el. Are these two thing not
compitible for any reason that I do not really understand ?

Maybe I should say that make is 3.82.

Regards

Pierre



From: Pierre Lorenzon<address@hidden>
Subject: ede cedet does not compile .elc
Date: Sat, 08 Feb 2014 14:47:53 +0100 (CET)


Hi all,

I migrated from emacs 24.0 to 24.3.1 and now used the cedet
embedded in emacs.

I must say that bugs that I encountered in 24.2 version have
been fixed and that I am really happy of that ! Even if one can
always use the last cedet version from cvs or git or whatever I
prefer use that embedded in emacs.

But now I encounter following problem :

A verry simple project like that :

;; Object Ede Test
;; EDE Project Files are auto generated: Do Not Edit
(ede-proj-project "Ede Test"
   :file "Project.ede"
   :name "Ede Test"
   :targets (list
    (ede-proj-target-elisp "hello.elc"
     :name "hello.elc"
     :path ""
     :source '("hello.el")
     )
    )
   :automatic-dependencies 'nil
   )

Where hello.el is the simplest lisp code that you can imagine :

(message "Hello world")

Produce following Makefile (that looks strange to me since
there actually seems to be something circular :)

# Automatically Generated Makefile by EDE.
# For use with: make
#
# DO NOT MODIFY THIS FILE OR YOUR CHANGES MAY BE LOST.
# EDE is the Emacs Development Environment.
# http://cedet.sourceforge.net/ede.shtml
#

top="$(CURDIR)"/
ede_FILES=Project.ede Makefile

hello_elc_LISP=hello.el
EMACS=emacs
EMACSFLAGS=-batch --no-site-file --eval '(setq debug-on-error t)'
require=$(foreach r,$(1),(require (quote $(r))))
VERSION=1.0
DISTDIR=$(top)Ede Test-$(VERSION)



all: hello.elc

%.elc: %.el
        $(EMACS) $(EMACSFLAGS) $(addprefix -L ,$(LOADPATH)) --eval '(progn 
$(call require, $(PRELOADS)))' -f batch-byte-compile $^

.PHONY: hello.elc
hello.elc: $(addsuffix c, $(hello_elc_LISP))

tags:


clean:
        rm -f *.elc

.PHONY: dist

dist:
        rm -rf $(DISTDIR)
        mkdir $(DISTDIR)
        cp $(hello_elc_LISP) $(ede_FILES) $(DISTDIR)
        tar -cvzf $(DISTDIR).tar.gz $(DISTDIR)
        rm -rf $(DISTDIR)

Makefile: Project.ede
        @echo Makefile is out of date!  It needs to be regenerated by EDE.
        @echo If you have not modified Project.ede, you can use 'touch' to 
update the Makefile time stamp.
        @false



# End of Makefile

But the output of the compilation confirms that there's
something wrong :

-*- mode: compilation; default-directory: "~/codes/elisp/ede/" -*-
Compilation started at Sat Feb  8 11:49:49

make -f /home/devel/codes/elisp/ede/Makefile all
make: Circular hello.elc<- hello.elc dependency dropped.
make: Nothing to be done for `all'.

Compilation finished at Sat Feb  8 11:49:49


Did I something wrong in my use of ede ? In fact all my old
projects that compiled do not longer !

Regards

Pierre


------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Cedet-devel mailing list
address@hidden
https://lists.sourceforge.net/lists/listinfo/cedet-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]