I'll try to explain a bit about EDE that will probably help with your
other email too.
EDE supports many kinds of projects. The type of project that uses
Project.ede is one type of project specific to build systems using Make
and Automake where there is a build file in each directory. The
Project.ede file is the 'source' of all the build information, and the
Makefile or whatever is generated from that.
If you have an already written automake setup, EDE will notice that
instead, and just operate directly from there with no need for a
Even better, EDE can be told via your .emacs file where the root of some
C++ or java based project is using special EDE project types
ede-cpp-root, and ede-java-root. In that case, it has no idea how to do
much of anything with your project other than enable some of the
find-file features that Semantic needs for smart completion.
If you have some build system that EDE doesn't know about, you cant
really fake it out with a Project.ede file. You have to write new Elisp
code for EDE describing your project. At that point, EDE support will
be limited to what you implement.
If you have a had written Makefile, EDE will not be able to replicate it
from a Project.ede. The nature of how Project.ede is very limited
compared to the free-form style of Make.
I'll guess you either want to use ede-cpp-root (which you can get a
primer to in the cedet.info file) or perhaps enable Generic project
support which will identify your Makefile, and just use it to identify
the toplevel, but not do much else.
Does that help?
On 10/18/2012 02:22 PM, Left Right wrote:
> Hi list,
> This is something I'm trying to figure: I have a very simple Makefile
> which I used in my project, but I'm still not able to replicate it
> using EDE. I don't entirely understand how EDE functions, so this is
> potentially the problem, but probably it's not possible indeed.
> My old Makefile does this: compiles a bunch of eLisp sources, compiles
> an info page, copies all of these and a bunch of other files into a
> dedicated directory and tars / compresses them in that directory.
> I could replicate the compilation of eLisp sources and the info page.
> I can't understand how to copy arbitrary files and compress them. When
> I try to define a target of type "archive", I'm receiving errors
> suggesting I need to define additional compiler. I couldn't understand
> how to do it from the documentation, but I also don't *want* to do
> it... I mean, if I need to add custom eLisp code in order to achieve
> this functionality, I prefer to just go with an old Makefile - this
> will keep it portable, at least between my PC and a laptop...
> Obviously, there are more things one can do in Makefile beside copying
> and archiving files. But is there a way to just have EDE project
> append any code to the Makefile it generates? Because writing
> generator defies the purpose of having a project (because the project
> will not be self-containing any more).
> Last thing I wouldn't mind help understanding is this error:
> "Could not find compiler match for source code extension \"elc\". You
> may need to add support for this type of file."
> 1. Why do I need to add support for these files? I never intended to
> do anything to them. I never defined a target that mentioned any such
> 2. Obviously these will be generated when compiling *.el files, so
> whatever this error wants me do is unavoidable. Why isn't the compiler
> that generates them takes care of that as well?
> I probably simply don't understand the error message, but on the other
> hand... this message clearly fails to explain what had happened.
> Reading source code didn't help either it's just too much of it :(
> Below is my attempt at writing a Project.ede file:
> ;; Object haxe-mode
> ;; EDE Project Files are auto generated: Do Not Edit
> (ede-proj-project "haxe-mode"
> :file "Project.ede"
> :name "haxe-mode"
> :targets (list
> (ede-proj-target-makefile-info "document"
> :name "document"
> :path ""
> :source '("haxe.texi")
> (ede-proj-target-elisp "elisp"
> :name "elisp"
> :path ""
> :source '("haxe-mode.el" "haxe-completion.el" "haxe-project.el"
> "haxe-help.el" "haxe-log.el")
> :rules (list
> (ede-makefile-rule "Custom-new"
> :target "zip"
> :dependencies "elisp"
> :rules '("cp -r *.el ./haxe-mode" "zip -r haxe-mode-ede.zip ./haxe-mode")
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> Cedet-devel mailing list