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