all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* ede cedet does not compile .elc
@ 2014-02-08 13:47 Pierre Lorenzon
  2014-02-09  7:52 ` Pierre Lorenzon
  0 siblings, 1 reply; 4+ messages in thread
From: Pierre Lorenzon @ 2014-02-08 13:47 UTC (permalink / raw
  To: help-gnu-emacs


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



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ede cedet does not compile .elc
  2014-02-08 13:47 ede cedet does not compile .elc Pierre Lorenzon
@ 2014-02-09  7:52 ` Pierre Lorenzon
  2014-02-14  1:24   ` Eric M. Ludlam
  0 siblings, 1 reply; 4+ messages in thread
From: Pierre Lorenzon @ 2014-02-09  7:52 UTC (permalink / raw
  To: help-gnu-emacs, cedet-devel


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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ede cedet does not compile .elc
  2014-02-09  7:52 ` Pierre Lorenzon
@ 2014-02-14  1:24   ` Eric M. Ludlam
  2014-02-14  4:34     ` Pierre Lorenzon
  0 siblings, 1 reply; 4+ messages in thread
From: Eric M. Ludlam @ 2014-02-14  1:24 UTC (permalink / raw
  To: Pierre Lorenzon; +Cc: help-gnu-emacs, cedet-devel

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

------------------------------------------------------------------------------
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ede cedet does not compile .elc
  2014-02-14  1:24   ` Eric M. Ludlam
@ 2014-02-14  4:34     ` Pierre Lorenzon
  0 siblings, 0 replies; 4+ messages in thread
From: Pierre Lorenzon @ 2014-02-14  4:34 UTC (permalink / raw
  To: eric; +Cc: help-gnu-emacs, cedet-devel


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

------------------------------------------------------------------------------
Android apps run on BlackBerry 10
Introducing the new BlackBerry 10.2.1 Runtime for Android apps.
Now with support for Jelly Bean, Bluetooth, Mapview and more.
Get your Android app in front of a whole new audience.  Start now.
http://pubads.g.doubleclick.net/gampad/clk?id=124407151&iu=/4140/ostg.clktrk

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-02-14  4:34 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-08 13:47 ede cedet does not compile .elc Pierre Lorenzon
2014-02-09  7:52 ` Pierre Lorenzon
2014-02-14  1:24   ` Eric M. Ludlam
2014-02-14  4:34     ` Pierre Lorenzon

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.