Today continues our XCI project study, in how to analyze the Xen source article has said to the analysis Linux system this kind of big project first may start from makefile, then xci makefile what is different? Here we will study:
Http://xenbits.xen.org/gitweb?p=xenclient/build.git;a=summary
Open the makefile in the Project tree directory, in general, this makefile under the root directory is a total collar file, through which layer contains the call to each directory, subdirectory, corresponding to the makefile, so that layer call down to complete the entire software system compilation.
At the top note you can see:
#Makefile for Buildroot2
and below.
#Just run ' make menuconfig ', configure stuff, and then run ' make '.
This sentence for often compile the kernel of the cheese should be very familiar with, is not it, but above that is some strangers, temporarily first put.
And then navigate to
All:world
Once compiled Xen should be able to understand this is where our dreams started:
All tell the compiler what steps to take to complete, which is the most important place! So looking at a makefile first from its all looks like the C language's main () function. And then analyze from all layers.
Immediately following line of comments:
#In This section, We need. config
If you follow the official online introduction step by step then you must remember the following step:
CP configs/xenclient_config./.config
By the way, our. config is here to see what's Inside:
#Automatically generated make Config:don ' t edit
and time to build.
#Wed June 22 23:36:54 2009
5 br2_have_dot_config=y6 br2_version= "0.10.0-SVN"
Br2_i386=y
Br2_x86_i686=y
br2_endian= "LITTLE" Wuyi br2_gcc_target_tune= "i686"
Br2_gcc_target_arch= "i686"
Project Options60 #61 br2_project= "xenclient" br2_hostname= "Xenclient" "br2_banner= to Welcome."
Br2_xenclient_skeleton=y
# Build Options92 #93 br2_primary_site= "br2_wget= WGET--passive-ftp-nd" "br2_svn_co=" SVN CO "br2_svn_up=" SVN up "br2_git=" GIT clone "br2_zcat=" gzip-d-C "br2_bzcat=" Bzcat "br2_tar_options=" "
Br2_dl_dir= "$ (base_dir) DL"
(to Be continued)