On 10 Nov 2007, at 2:24, Chris wrote:
> As far as I can tell, Codeblocks does not use makefiles. I am
> using GCC but I think Codeblocks uses its own build method.
Oh, OK. As I said, I don't use CodeBlocks, but I was under the
impression from discussions with others that it did generate
Makefiles "in the background" and that was how it managed its builds.
I am very likely wrong.
> I realize I could create my own makefile but I really don't want to
> go through that headache.
Makefiles are pretty easy to write - there is a learning curve, but
it's not *that* steep for the functionality you use most of the time
(like dependency checking!) and the rest of the stuff you can just
ignore :-)
How many files are in your project, and what are their dependencies?
> My preferred method would be to pass a flag on the commandline to
> fluid.exe to have it check timestamps between the .fl file and the
> generated source and header files before deciding to update the
> timestamps (which causes them to be recompiled when in actuality
> nothing changed). Maybe there is a command line option?
There is no such option in fluid. Indeed, I can't offhand think of
any parser or compiler tool I know of that provides that functionality.
Basically, the tools expect that you will only ever call them when
you need them to run - the assumption being that the IDE or Makefile
will have correctly determined which files need to be rebuilt in any
given run.
In general, you need a Makefile (or equivalent IDE) option that goes
something like this -
.fl.h .fl.cxx:
@echo Passing $< to fluid...
$(FLUID) -c $<
That rule basically says:
If there is a .cxx or .h file that is needed, but it does not exist,
and there is a .fl file of the same name
-OR-
there is a .cxx or .h file that does exist but is older than a .fl
file of the same name
-THEN-
run the command "fluid -c filename.fl"
Which is basically the objective you are trying to attain, I think.
If the IDE you are using does not provide Makefiles, then it must,
surely, provide some alternate means to handle dependencies. If it
does not, then it is simply not fit for purpose and you should use
something else.
> Maybe I should modify fluid myself to do this with the hope it can
> get included in future versions. Wouldn't this feature make sense
> for IDE's that do not use makefiles?
Dependency checking is not the job of the parser/compiler. It is the
job of the build system. In general, a parser can't tell whether it
should run or not - really, all it can do is check the dates of its
input and output files and that is not all that robust an indication
of change. It can't, for example, know about changes to dependent
files elsewhere in the build system that have an influence on the
files the parser is working with, whereas a real build system would
be aware of those changes and able to better decide which things need
re-parsed at any given time. That sort of thing.
If you want to expend energy in writing dependency checking mods,
you'd be better off making it work in Codeblocks (thereby fixing it
for every parser tool, not just fluid) than in adding some non-
standard extension to fluid.
But, as I say, I find it odd that Codeblocks does not already provide
this ability. That, surely, can not be right?
--
Ian
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk