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: Pierre Lorenzon
Subject: Re: [CEDET-devel] ede cedet does not compile .elc
Date: Fri, 14 Feb 2014 05:34:56 +0100 (CET)

Hi Eric,

Thanks for your answer.



From: "Eric M. Ludlam" <eric@siege-engine.com>
Subject: Re: [CEDET-devel] ede cedet does not compile .elc
Date: Thu, 13 Feb 2014 20:24:13 -0500

> Hi Pierre,
> 
> Sorry for a late reply.
> 
> I believe the problem you are having is that you named your
> target "hello.elc".

  In fact it can be an aspect of the problem. But in the past I
  always did so and everything went well. Hence most of my
  project are written following this scope. Something changed
  actualy in ede since I saw that makefiles that are now
  produced from the same projecte.ede file are no longer the
  same.

  Anyway I can change target naming in my projects.




> 
> 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))

  OK 



> 
> 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 am sure as well : indeed it confused it !



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

  Clear now ! I'll do that !

  Thanks Again 


  Pierre



> 
> 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<devel@pollock-nageoire.net>
>> 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
>> Cedet-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/cedet-devel
>>



reply via email to

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