]> git.saurik.com Git - apple/xnu.git/blobdiff - README
xnu-2782.40.9.tar.gz
[apple/xnu.git] / README
diff --git a/README b/README
index b71d70f725114ca3c443bedbc1c7b7d4445c4e06..f6b6323353890b21362f2122ea8b84f824b22d8f 100644 (file)
--- a/README
+++ b/README
@@ -27,41 +27,7 @@ A. How to build XNU:
        
        make ARCH_CONFIGS=X86_64
 
-2) Building a Component
-
-  Go to the top directory in your XNU project.
-
-  If you are using a sh-style shell, run the following command:
-     $ . SETUP/setup.sh
-
-  If you are using a csh-style shell, run the following command:
-     % source SETUP/setup.csh
-
-  This will define the following environmental variables:
-    SRCROOT, OBJROOT, DSTROOT, SYMROOT
-
-  From a component top directory:
-
-    $ make all
-
-  This builds a component for all architectures, kernel configurations, and
-  machine configurations defined in TARGET_CONFIGS (or alternately ARCH_CONFIGS
-  and KERNEL_CONFIGS).
-  
-  Example:
-    $(OBJROOT)/RELEASE_X86_64/osfmk/RELEASE/osfmk.filelist: list of objects in osfmk component
-
-  From the component top directory:
-
-    $ make mach_kernel
-
-  This includes your component in the bootable image, mach_kernel,  and 
-  in the kernel binary with symbols, mach_kernel.sys.
-
-  WARNING: If a component header file has been modified, you will have to do 
-           the above procedure 1.
-
-3) Building DEBUG
+2) Building DEBUG
 
   Define kernel configuration to DEBUG in your environment or when running a 
   make command.  Then, apply procedures 4, 5
@@ -82,7 +48,7 @@ A. How to build XNU:
     $(OBJROOT)/DEBUG_X86_64/osfmk/DEBUG/osfmk.filelist: list of objects in osfmk component
     $(OBJROOT)/DEBUG_X86_64/mach_kernel: bootable image
 
-4) Building fat
+3) Building fat
 
   Define architectures in your environment or when running a make command.
   Apply procedures 3, 4, 5
@@ -98,17 +64,17 @@ A. How to build XNU:
   $ export ARCH_CONFIGS="I386 X86_64"
   $ make exporthdrs all
 
-5) Verbose make 
+4) Verbose make 
    To display complete tool invocations rather than an abbreviated version,
    $ make VERBOSE=YES
 
-6) Debug information formats
+5) Debug information formats
    By default, a DWARF debug information repository is created during the install phase; this is a "bundle" named mach_kernel.dSYM
    To select the older STABS debug information format (where debug information is embedded in the mach_kernel.sys image), set the BUILD_STABS environment variable.
    $ export BUILD_STABS=1
    $ make
 
-7) Build check before integration
+6) Build check before integration
 
   From the top directory, run:
 
@@ -120,24 +86,26 @@ A. How to build XNU:
   produce different results. Each build alias supports the standard
   "clean", "install", "installsrc", "installhdrs" targets, but
   conditionalize their behavior on the RC_ProjectName make variable
-  which is passed as the -project argument to ~rc/bin/buildit, which
+  which is passed as the -buildAlias argument to ~rc/bin/buildit, which
   can be one of:
 
-  -project xnu          # the default, builds /mach_kernel, kernel-space
-                        # headers, user-space headers, man pages,
-                        # symbol-set kexts
+  -buildAlias xnu            # the default, builds /mach_kernel, kernel-space
+                             # headers, user-space headers, man pages,
+                             # symbol-set kexts
+
+  -buildAlias xnu_debug      # a DEBUG kernel in /AppleInternal with dSYM
 
-  -project xnu_debug    # a DEBUG kernel in /AppleInternal with dSYM
+  -buildAlias libkxld        # user-space version of kernel linker
 
-  -project libkxld      # user-space version of kernel linker
+  -buildAlias libkmod        # static library automatically linked into kexts
 
-  -project libkmod     # static library automatically linked into kexts
+  -buildAlias Libsyscall     # automatically generate BSD syscall stubs
 
-  -project Libsyscall   # automatically generate BSD syscall stubs
+  -buildAlias xnu_quick_test # install xnu unit tests
 
 
 
-8) Creating tags and cscope
+7) Creating tags and cscope
 
   Set up your build environment as per instructions in 2a
 
@@ -150,20 +118,21 @@ A. How to build XNU:
 
     $ make cscope      # this will build cscope database
 
-9) Other makefile options
+8) Other makefile options
 
-   $ make MAKEJOBS=-j8    # this will use 8 processes during the build. The default is 2x the number of active cores
+   $ make MAKEJOBS=-j8    # this will use 8 processes during the build. The default is 2x the number of active CPUS.
+   $ make -j8             # the standard command-line option is also accepted
 
    $ make -w              # trace recursive make invocations. Useful in combination with VERBOSE=YES
 
-   $ make BUILD_LTO=1    # build with LLVM Link Time Optimization (experimental)
+   $ make BUILD_LTO=0    # build without LLVM Link Time Optimization
 
-   $ make BUILD_INTEGRATED_ASSEMBLER=1 # build with LLVM integrated assembler (experimental)
+   $ make REMOTEBUILD=user@remotehost # perform build on remote host
 
 =============================================
 B. How to install a new header file from XNU
 
-[Note: This does not cover installing header files in IOKit framework]
+[To install IOKit headers, see additional comments in iokit/IOKit/Makefile.]
 
 1) XNU installs header files at the following locations -
        a. $(DSTROOT)/System/Library/Frameworks/Kernel.framework/Headers