[vox-tech] gcc easy question

Kenneth Herron kherron+lugod at fmailbox.com
Mon Jan 30 11:44:40 PST 2006


Alex Mandel wrote:
> I guess what I'm confused about it that I'm running.
> $./configure
> $make

With projects that use configure, you can often build the entire 
software package outside of the source code tree. After unpacking the 
source into (for example) /some/path/a, you'd create the directory 
/some/path/b, cd there, and then run "../a/configure". If the package 
maintainers are on the ball, all of the new files will be under 
/some/path/b.

However, this still still leaves you with a bunch of intermediate files 
mixed in with the final files, so it's probably not what you're looking for.

> As you can see from the above commands, maybe it's not one step. I need 
> the results of make to end up in a directory on its own. Right now I'm 
> using a diff program to extract new files that didn't exist in the 
> source files but this gets me a lot of files, a ton with the .lo 
> extension and I'm not sure I need these for the one component I need to 
> run.

There's no hard and fast rule for distinguishing between intermediate 
files and final files in the build area. As I understand it, most 
packaging systems run "make" to build the software and then "make 
install" to install it. Then you can look at what files were installed 
to see what has to be included in the distribution and where they should go.

To avoid actually installing the software into a live system during this 
step, maintainers usually use some trick or another to make the 
"install" process copy the files into a private directory tree. E.g., 
when the "make install" step wants to copy a file into /usr/bin, there 
are ways to make install into, say, /var/tmp/foobar/usr/bin instead. I 
don't have any specific advice on how you can do this, but this is the 
kind of thing you should probably be looking for.




More information about the vox-tech mailing list