You may now do:
mkdir build
cd build
../configure
./audacity
And all but one directory will remain unmolested...no more object files
in "src".
And if you look carefully, you'll see that the newly built "audacity" is
copied to the top of the build tree...no more having to use "src/audacity"
to run.
You can of course still do the configure from the top and get all of the
objects strewn about the tree.
I still haven't figured out how to keep the locale directory from getting
soiled. I'm not really sure there's a way around it really.
The all target should not try to build targets that are disabled by configure.
Otherwise make will try to build the programs (even if you disabled them) and
fail if libsndfile was not found.
We will need a working all target when we want to use automake for Audacity.
src/vamp-hostsdk/PluginLoader.cpp uses the dlopen function. On some platforms
you have to link against dl for this function. configure checks for dlopen
and adds -ldl to LIBS if you have to link against dl. We need to pass this
LIBS variable when linking the hostsdk library.