running from build dir
Chris Shoemaker
c.shoemaker at cox.net
Wed Dec 22 13:35:47 EST 2004
On Wed, Dec 22, 2004 at 05:05:29PM +0000, Neil Williams wrote:
> On Wednesday 22 December 2004 11:48 am, Chris Shoemaker wrote:
> > > I just "make install" every time. Note that if you only change
> > > source files (not headers) then you only need to make install
> > > in the directories you've changed rather than "make install" in
> > > the full source tree. If nothing else it saves a bit of time.
> >
> > I see. That's a good tip. I've been working as if this is also true
> > for "make". Is that so?
>
> Better to skip the make and go for make install from the directory where you
> made your changes. I even skip between directories and run two or three make
> installs in gnucash/src/engine and gnucash/src/gnome in less time than it
> takes to do a full make install from gnucash/. I also cheat - I edit the
> local Makefile.am to remove test files in directories beneath the current one
> from the build until I actually need to test. (top tip: remember to put them
> back!)
Are you sure that is holds when editting .c files, too? My
understanding is that make install is sufficient for modified scm
files, but modified .c requires make. I think Derek implied exactly
this is this thread.
>
> So I use Shift+F9 from Anjuta to build within the IDE according to the
> relevant Makefile relating to the file being edited. That makes sure I
Perhaps Shift+F9 is equivalent to 'make'?
> haven't made some stupid typo. Then in a terminal (within Anjuta or
> separate), a quick make install, cd /opt/gnucash/local/bin and ./gnucash - or
> usually ./gnucash --nofile after a tip from Derek.
Thanks for explaining your work-flow. I've learned so much by
understanding how other people work.
I don't know much about Anjuta, but I'm a bit wary of heavy-weight
IDEs, because I use some pretty ancient hardware. Do you find Anjuta
resource-friendly? My current environment is along the lines of
emacs+gdb+etags. I find it quite functional, although not always
intuitive.
>
> > I'd like to understand this better. I recognize the need to find the
> > guile executable, and have the environment all setup, but that's all
> > standard install issues. Are there some subtle or unique
> > directory-finding requirements once the Scheme is being interpreted?
>
> Yes. e.g. the hierarchy druid loads it's example account files from a location
> determined from the --prefix and therefore set in the rest of the build.
> Changes in things like that mean that only a make install will tell you if
> your changes will work.
>
So I've learned. Is it considered undesirable for the installed
binaries to be sensitive to their location? If this were a pure C
app, I would suggest a dependence on an environment variable(s) for
finding all the needed files. Is this more difficult with Scheme, or
is there some other reason to prefer fixing paths at install-time?
-chris
More information about the gnucash-devel
mailing list