Re: [CEDET-devel] ede cedet does not compile .elc
Brought to you by:
zappo
From: Pierre L. <de...@po...> - 2014-02-14 04:40:02
|
Hi Eric, Thanks for your answer. From: "Eric M. Ludlam" <er...@si...> 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<de...@po...> >> 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 >> Ced...@li... >> https://lists.sourceforge.net/lists/listinfo/cedet-devel >> |