Hi Andrew!<br><br>You're completely right about that, although Dev-C++ seems to have its own makefile generator (and then calls the MingW or MSYS make, not sure), it wouldn't<br>be necessary to reinvent the wheel. So the sensible solution would indeed be to make a plugin that is kind off like a front-end for a tool that makes makefiles (I'm actually baffled by the amount<br>
of indirection here ;) ). Even though currently I'm preparing for my exams, I can't quite keep my mind off more interesting things like this.<br><br>That being said, I think a direct SCons file generator would be pretty easy to make, since everyone is saying how simple it really is. Then I'd need to make some kind of dialog where you<br>
can select all kinds of options (probably per language then, in the beginning only C would be supported), like the optimisation level, or to strip the executable afterwards, or even to make a debug version et cetera. The plugin could also be made to be buildtool-backend agnostic, with several modules providing support for each (plugins for a plugin?!). So you could choose in the plugin dialog for your project whether you want SCons or Make or something else. You'd probably also need a general setup to point to the paths where the buildtools are located (SCons directory, ...).<br>
<br>So basically in the beginning it could be:<br><br>tool | language<br>--------------------<br>SCons | C<br><br>But later there could be:<br><br>-------------------<br>Ant | Java<br>Ant | C<br>Ant | C++<br><br>Or some other crazy stuff :)<br>
<br>Some languages also don't need buildtools I presume, but the plugin wouldn't interfere unless activated. Maybe it could store options in the project .geany file, or maybe it would use a .geany-buildopt file.<br>
<br>Well, enough ranting out of me, need to get back to studying (which is to say this plugin isn't for tomorrow, or even next month).<br><br>Thanks for the files Andrew, now I can at least try if they work when I'm taking a break.<br>
<br>Cheers, Nicolas<br><br><div class="gmail_quote">On Fri, May 29, 2009 at 1:50 AM, Andrew Janke <span dir="ltr"><<a href="mailto:a.janke@gmail.com">a.janke@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi Nicolas,<br>
<div class="im"><br>
On Thu, May 28, 2009 at 18:49, Nicolas Hillegeer<br>
<<a href="mailto:nicolashillegeer@gmail.com">nicolashillegeer@gmail.com</a>> wrote:<br>
> I've been searching the web for some time (including these lists), and I'm<br>
</div>> sorry if I've missed it, but is there any feature?<br>
<br>
<br>
I haven't been following this thread much but surely it would be daft<br>
to re-invent the wheel inside geany for this when there is already<br>
cmake, genmake, and of course my favourite automake/autoconf the<br>
venerable old dinosaurs that they are. Surely such a thing in geany<br>
would just call an external script (of some description, perl? python?<br>
bash?) that created the Makefile.am and <a href="http://configure.ac" target="_blank">configure.ac</a> and then called<br>
the appropriate things.<br>
<br>
ie:   (replace all the things in <>)<br>
<br>
For Makefile.am:<br>
<br>
-----<br>
AUTOMAKE_OPTIONS = check-news<br>
ACLOCAL_AMFLAGS = -I m4<br>
<br>
bin_PROGRAMS = <program_name><br>
dist_man1_MANS = <man pages><br>
<br>
<program_name>_SOURCES = <headers.h sourcefiles.c sourcefiles.cxx><br>
-----<br>
<br>
for <a href="http://configure.ac" target="_blank">configure.ac</a><br>
<br>
----<br>
# Require autoconf 2.57 or newer.<br>
AC_PREREQ([2.57])<br>
<br>
AC_INIT([<program_name>],[<version>],[<username>])<br>
AC_CONFIG_SRCDIR([<first source file.c>])<br>
<br>
AM_INIT_AUTOMAKE<br>
<br>
# The argument is the name of the generated header file.<br>
# It is recommended to leave it as "config.h".<br>
AC_CONFIG_HEADERS([config.h])<br>
<br>
# Checks for programs.<br>
AC_PROG_CC<br>
AC_PROG_INSTALL<br>
<br>
# Finish up by writing output files.<br>
AC_CONFIG_FILES([Makefile])<br>
----<br>
<br>
Then all you have to do is call these:<br>
<br>
   aclocal -I m4<br>
   autoheader<br>
   automake --add-missing --copy<br>
   autoreconf<br>
<br>
and from there:<br>
<br>
   configure<br>
   make<br>
<br>
I am sure there are (simpler) recipes for doing this with cmake and<br>
the likes, but this is what I do for GNU style projects that I want to<br>
have build cross-platform.<br>
<font color="#888888"><br>
<br>
<br>
--<br>
Andrew Janke<br>
(<a href="mailto:a.janke@gmail.com">a.janke@gmail.com</a> || <a href="http://a.janke.googlepages.com/" target="_blank">http://a.janke.googlepages.com/</a>)<br>
Canberra->Australia    +61 (402) 700 883<br>
</font><div><div></div><div class="h5">_______________________________________________<br>
Geany mailing list<br>
<a href="mailto:Geany@uvena.de">Geany@uvena.de</a><br>
<a href="http://lists.uvena.de/cgi-bin/mailman/listinfo/geany" target="_blank">http://lists.uvena.de/cgi-bin/mailman/listinfo/geany</a><br>
</div></div></blockquote></div><br>