]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BuildNotes2.txt
Updated quick start instructions to match installation.html
[mirror_edk2.git] / BuildNotes2.txt
index c6e49cede83fec0c9770819b35087af5d88cd686..78bbf5f0f0d5b2605387263a5a413d103c0f1dcf 100644 (file)
 Intel(R) Platform Innovation Framework for EFI\r
 EFI Development Kit II Prime (EDK II Prime)\r
 Root Package 1.00\r
 Intel(R) Platform Innovation Framework for EFI\r
 EFI Development Kit II Prime (EDK II Prime)\r
 Root Package 1.00\r
-2007-06-25\r
+2008-05-15\r
 \r
 Intel is a trademark or registered trademark of Intel Corporation or its\r
 subsidiaries in the United States and other countries.\r
 * Other names and brands may be claimed as the property of others.\r
 \r
 Intel is a trademark or registered trademark of Intel Corporation or its\r
 subsidiaries in the United States and other countries.\r
 * Other names and brands may be claimed as the property of others.\r
-Copyright (c) 2007, Intel Corporation\r
+Copyright (c) 2007 - 2008, Intel Corporation  All rights reserved.\r
 \r
 EDK II Prime packages are in the development phase. They consist of:\r
 \r
 \r
 EDK II Prime packages are in the development phase. They consist of:\r
 \r
-  BuildNotes2.txt    - The build notes for this package\r
-  MdePkg             - Industry-standard headers and libraries\r
-  BaseTools          - Build -specific tools that are designed to help the\r
-                       developer create and modify drivers and libraries\r
-  IntelFrameworkPkg  - Framework headers and libraries\r
-  MdeModulePkg       - Reference drivers\r
+  BuildNotes2.txt         - The build notes for this package\r
+  MdePkg                  - Industry-standard headers and libraries\r
+  BaseTools               - Build -specific tools that are designed to help the\r
+                            developer create and modify drivers and libraries\r
+  IntelFrameworkPkg       - Tiano/Framework Includes and Libraries\r
+  MdeModulePkg            - UEFI 2.1/PI 1.0 compliant modules\r
+  IntelFrameworkModulePKg - Tiano/Framework Includes and Libraries\r
+  Nt32Pkg                 - UEFI 2.1/PI 1.0 emulation environment for Windows\r
+  FatBinPkg               - Binaries built from the FatPkg \r
+  EdkShellBinPkg          - Binaries of full shell, minimum shell and commands\r
+\r
+Note:\r
+  EdkShellBinPkg is supported to support both EDK II build and EDKII Prime\r
+  build by having several module description files.\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+The most recent version of the setup instructions is available on the EDK II\r
+web-site:\r
+  https://edk2.tianocore.org/installation.html\r
 \r
 \r
 -------------------------------------------------------------------------------\r
 \r
 \r
 -------------------------------------------------------------------------------\r
-Quick Start\r
+Quick Start (Windows Development Platform)\r
 -----------\r
 \r
 -----------\r
 \r
-NOTE: Please confirm you have already installed Python on your machine.\r
+In a command prompt window, change to the top-level directory of the EDK II \r
+source.\r
+\r
+Note:\r
+  The first time the edksetup script is executed, it creates three files in the\r
+  %WORKSPACE%\Conf directory. The files: tools_def.txt, target.txt and\r
+  build_rule.txt, are only created if they do not exist, if they exist, they\r
+  are not touched.\r
+\r
+First, set up your project workspace. If you have previously initialized this\r
+WORKSPACE, and a newer version of the *.template files in\r
+WORKSPACE\BaseTools\Conf exists, remove the *.txt files in the WORKSPACE\Conf\r
+directory prior to running the edksetup script.\r
 \r
 \r
-In a command window, change to the top-level directory of the EDK II source.\r
+For the reference build of the Nt32 Platform emulation environment, use the \r
+edksetup.bat option: --nt32. For building other platforms or modules, this\r
+option is not required, as Visual Studio standard includes, libraries and/or\r
+dlls are not required for normal development.\r
 \r
 \r
-First, set up your workspace. If you have had a setup, please make sure that\r
-you don't have newer *.template in WORKSPACE\BaseTools\Conf. Otherwise remove\r
-*.txt files in WORKSPACE\Conf in advance.\r
-    c:\MyWork\edk2\> edksetup newbuild\r
+    c:\MyWork\edk2\> edksetup --nt32\r
+\r
+The default tool chain (named MYTOOLS) is pre-configured to use VS2005 for IA32\r
+and X64 target architectures and the DDK for IPF target architectures. To use a\r
+different tool chain, either modify the tools_def.txt file's MYTOOLS entries,\r
+or modify the %WORKSPACE%\Conf\target.txt file's TOOL_CHAIN_TAG. The pre-defined\r
+tags are listed near the top of the %WORKSPACE%\Conf\tools_def.txt file, below\r
+the Supported Tool Chains comment.\r
+Alternatively, you may use the build command's -t option to specify a different\r
+tool chain tag name: build -t VS2003 ... , for example.  Using this method will\r
+require that you always use the build command's -t option.\r
+\r
+\r
+Next, go to the module directory and begin to build.  This example is for the\r
+HelloWorld application.\r
 \r
 \r
-Second, go to the module directory (For example, MdeModulePkg\Application\HelloWorld),\r
-and then begin to build\r
     c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld\r
     c:\MyWork\edk2\> build\r
 \r
     c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld\r
     c:\MyWork\edk2\> build\r
 \r
-If you want to build the modules in other packages\r
-(For example, MdePkg\Library\BaseLib\BaseLib.inf), please edit open the BaseTools\Conf\Target.txt firstly,\r
+If you want to build the a module in another package (for example, \r
+MdePkg\Library\BaseLib\BaseLib.inf), please edit the file,\r
+%WORKSPACE%\Conf\Target.txt, first.\r
 \r
 \r
-change the following line\r
+Change the following line\r
     ACTIVE_PLATFORM       = MdeModulePkg/MdeModulePkg.dsc\r
 to\r
     ACTIVE_PLATFORM       = MdePkg/MdePkg.dsc\r
 \r
     ACTIVE_PLATFORM       = MdeModulePkg/MdeModulePkg.dsc\r
 to\r
     ACTIVE_PLATFORM       = MdePkg/MdePkg.dsc\r
 \r
-and then go to MdePkg\Library\BaseLib directory and build\r
+Then go to MdePkg\Library\BaseLib directory and type build:\r
     c:\MyWork\edk2\> cd MdePkg\Library\BaseLib\r
     c:\MyWork\edk2\> build\r
 \r
     c:\MyWork\edk2\> cd MdePkg\Library\BaseLib\r
     c:\MyWork\edk2\> build\r
 \r
-If you want build a platform, ACTIVE_PLATFORM must be set to your desired platform dsc file,\r
-go to directory which must be not a module's directory, and run "build" command.\r
+If you want build a platform, ACTIVE_PLATFORM must be set to your desired\r
+platform dsc file, go to directory which must be not a module's directory, and\r
+run "build" command.\r
 \r
 \r
--------------------------------------------------------------------------------\r
-Tools in Python\r
----------------\r
+Instead of changing Target.txt, you can specify platform, module and/or\r
+architecture on command line.\r
+For example, if you want to build NT32 platform, you can just type \r
 \r
 \r
-* Run buld tool written in Python from source\r
-  The build tool written in Python can be executed from its source directly as long as you\r
-have the Python interpreter (version 2.5) installed. The source of Python code is locating at\r
+    c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32\r
+\r
+and if you want to build HelloWorld module, you can just type\r
 \r
 \r
-               https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python\r
+    c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf\r
 \r
 \r
-       where:\r
+Other helpful command line options of build tool include "-v" and "-d".\r
+The "-v" option is used to turn on the verbose build, which provide more\r
+information during the build. "-d <debug level 0-9>" option is used to\r
+turn on the debug information which is helpful debugging build tools.\r
 \r
 \r
-               MyBuild.py      - The temporary "build" tool from which the "build.exe" is coming\r
-               AutoGen.py  - Generate AutoGen.c/.h and makefile only\r
+For more information on build options, please try "build -h" on command line.\r
 \r
 \r
-       "MyBuild.py" steps:\r
-               1. Run "edksetup.bat newbuild"\r
-               2. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
-               3. Go to platform or module directory\r
-               4. Run "<python_interpreter.exe> <python_source_dir>\MyBuild.py" or "<python_source_dir>\MyBuild.py"\r
-                  directly.\r
+Note:\r
+  The Windows style help option "/?" is not a valid option for the build\r
+  command.\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+Supported build targets\r
+-----------------------\r
+\r
+all       - Build whole platform or module. It can be ignored.\r
+genc      - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.\r
+genmake   - Generate makefiles in addition to files generated by "genc" target.\r
+clean     - Clean intermediate files\r
+cleanall  - Clean all generated files and directories during build, except the\r
+            generated Makefile files (top level and module makefiles)\r
+cleanlib  - Clean all generated files and directories during library build\r
+run       - Launch NT32 shell (only valid for NT32 platform)\r
 \r
 \r
-       "AutoGen.py" steps:\r
-               1. Run "edksetup.bat newbuild"\r
-               2. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
-               4. Run "<python_interpreter.exe> <python_source_dir>\AutoGen.py" or "<python_source_dir>\AutoGen.py"\r
+-------------------------------------------------------------------------------\r
+Tools in Python\r
+---------------\r
+\r
+* Run buld tool written in Python from source\r
+  The build tool written in Python can be executed from its source directly as\r
+  long as you have the Python interpreter (version 2.5) installed. The source\r
+  of Python code is locating at:\r
+\r
+    https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python\r
+\r
+  where:\r
+\r
+    build/build.py      - The entry tool of build tools\r
+    AutoGen/AutoGen.py  - Generate AutoGen.c/.h and makefile only\r
+\r
+  "build.py" steps:\r
+    1. Run "edksetup.bat"\r
+    2. set PYTHONPATH to the local directory of above source\r
+       (BaseTools/Source/Python)\r
+    3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
+    4. Go to platform or module directory\r
+    5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or\r
+       "<python_source_dir>/build/build.py" directly.\r
+\r
+  "AutoGen.py" steps:\r
+    1. Run "edksetup.bat"\r
+    2. set PYTHONPATH to the local directory of above source\r
+       (BaseTools/Source/Python)\r
+    3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
+    4. Run "<python_interpreter.exe> <python_source_dir>/AutoGen/AutoGen.py" or\r
+       "<python_source_dir>/AutoGen/AutoGen.py"\r
 \r
 * Convert Python source to exe file\r
 \r
 * Convert Python source to exe file\r
-  The tools written in Python can be coverted into executable program which can be executed\r
-without Python interpreter. One of the convertion tools is called cx_Freeze at \r
+  The tools written in Python can be coverted into executable program which can\r
+  be executed without Python interpreter. One of the conversion tools is called\r
+  cx_Freeze, available at: \r
 \r
 \r
-               http://sourceforge.net/projects/cx-freeze/\r
+    http://sourceforge.net/projects/cx-freeze/\r
 \r
 \r
-       Suppose you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command line to convert MyBuild.py\r
+  If you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use the following\r
+  command lines to convert MyBuild.py to a Windows executable.\r
 \r
 \r
-       c:\cx_Freeze-3.0.3\FreezePython.exe --include-modules=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8 --install-dir=.\mybuild MyBuild.py\r
+    set PYTHONPATH=<buildtools>\BaseTools\Source\Python\r
+    c:\cx_Freeze-3.0.3\FreezePython.exe --include-modules=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_8 --install-dir=.\mybuild MyBuild.py\r
 \r
 \r
-       The generated .exe files are put in "mybuild" subdirectory.\r
+  The generated .exe files are put in "mybuild" subdirectory.\r
 \r
 \r