just a question about what happens to the source files when you compile them
dss-lfs at cfl.rr.com
Thu Feb 27 06:08:48 PST 2003
On Thursday, February 27, 2003, at 04:30 AM, Florian Teply wrote:
> Matthijs wrote:
>> Hi everyone,
>> I was just wondering what happens to the source files
>> when you compile them, why do they get that big (as in
>> harddisk space)? For instance, after the compilation
>> of Xfree68 the source in the /usr/src/xc directory is
>> much larger as it was before you compiled it. But
>> after the compilation you can erase all that stuff
>> (right?). Thats why I would like to know why the
>> source gets that big, probably not to just get wiped
>> out after compilation. This also goes for the kernel
>> sources and for every other program as well, altough
>> the source of Xfree68 really got very large...
>> Hopefully somebody knows around here, I could not find
>> it on google...
> Obviously i´m not a pro in this art, but if i remember correctly,
> executing the Makefiles produces a kind of snapshot of the current
> system. Along with probably some binaries, this could possibly grow
> People out there, correct me if i´m wrong...
> Grets Florian
What happens is the text source is read by the compiler to produce what
is called object code (hence the .o extension on these files). These
contain binary machine readable code AKA processor instructions. They
also contain references to other pieces of object code, either in other
.o files or libraries, which are just collections of object files.
Finally the linker (ld) reads all these object files and libraries
together to produce an executable, things like xterm, that can actually
All of the stuff is built in place, i.e. in the source directory, when
you issue the make command. That is why this directory becomes so
large. When you say 'make install' the executables are copied into
their ultimate destination, wherever you specified with the configure
command. After "make install' you can safely delete the source
directories because you've made a copy of everything built in the
proper directories for running them.
Also, programs like bison/yacc and (f)lex are designed to produce
source code (among other things) from scripts, so yes, source is
sometimes produced during the make.
I hope I was able to explain it satisfactorily to you.
Unsubscribe: send email to listar at linuxfromscratch.org
and put 'unsubscribe lfs-chat' in the subject header of the message
More information about the lfs-chat