Home | History | Annotate | Download | only in BaseTools
      1 Intel(R) Platform Innovation Framework for EFI
      2 BuildTools Project, BaseTools Sub-Project
      3 Root Package 1.00
      4 2007-08-31
      5 
      6 Intel is a trademark or registered trademark of Intel Corporation or its
      7 subsidiaries in the United States and other countries.
      8 * Other names and brands may be claimed as the property of others.
      9 Copyright (c) 2007, Intel Corporation. All rights reserved.
     10 
     11 -------------------------------------------------------------------------------
     12 Quick Start
     13 -----------
     14 
     15 Windows:
     16   a) Set the PYTHON_FREEZER_PATH to the cx_Freeze installation directory
     17   b) Go to the <buildtools_project>/BaseTools and run "toolsetup" script
     18 
     19 Unix-like:
     20   a) make -C <buildtools_project>/BaseTools
     21   b) Look over https://github.com/tianocore/tianocore.github.io/wiki/Getting%20Started%20with%20EDK%20II
     22      for a helpful step-by-step guide for building 'Hello World' on
     23      various operating systems with edk2.
     24 
     25 Supported build targets (toolsetup)
     26 -----------------------------------
     27 
     28 build(or none)  - Incremental Build of all C based tools. This is the default target
     29 rebuild         - Clean all generated files and directories during build, and rebuild all tools
     30 
     31 -------------------------------------------------------------------------------
     32 Tools in Python
     33 ---------------
     34 * Convert Python source to exe file
     35 
     36   The tools written in Python can be converted into executable program which can 
     37   be executed without installing a Python interpreter. (Generally it is easier
     38   to run the scripts from their source on operating systems other than Windows.)
     39 
     40   For Windows and Linux, the conversion tool package is called cx_Freeze, its
     41   home page is:
     42 
     43 		http://sourceforge.net/projects/cx-freeze/
     44 
     45 	If you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command
     46   lines to convert MyBuild.py to MyBuild.exe (note this is an example, there is
     47   no MyBuild Python project in the BaseTools\Python tree.
     48 
     49     set PYTHONPATH=<BaseToolsDirPath>\Source\Python
     50   	c:\cx_Freeze-3.0.3\FreezePython.exe --include-modules=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_16_le,encodings.utf_8 --install-dir=.\mybuild MyBuild.py
     51 
     52 	The generated .exe (and .dll) files are put in "mybuild" subdirectory.
     53 
     54   The following is a real example with the BuildTools/trunk/BaseTools project 
     55   installed in: C:\Work\BaseTools
     56 
     57   
     58   C:\Work\BaseTools\Source\Python> set PYTHONPATH=C:\Work\BaseTools\Source\Python
     59   C:\Work\BaseTools\Source\Python> c:\cx_Freeze-3.0.3\FreezePython.exe --include-modules=encodings.cp437,encodings.gbk,encodings.utf_16,encodings.utf_16_le,encodings.utf_8 --install-dir=C:\Work\BaseTools\Bin\Win32 build\build.py
     60 
     61 ---------------
     62 * Execute tools written in Python without conversion
     63 
     64 Unix-like systems:
     65 
     66 The edk2/edksetup.sh script will setup everything which is needed to
     67 run the scripts from their source.
     68 
     69 Windows:
     70 
     71   The tools written in Python can be executed directly from its source directory
     72 as long as the Python interpreter (Python 2.5) has been installed. Before the execution,
     73 please make sure the environment variable PYTHONPATH is set to 
     74 
     75         <buildtools_project>/BaseTools/Source/Python
     76 
     77   There're five tools written in Python. The entrance file of each tool is listed
     78 below.
     79 
     80       build               <buildtools_project>/BaseTools/Source/Python/build/build.py
     81       GenFds              <buildtools_project>/BaseTools/Source/Python/GenFds/GenFds.py
     82       Trim                <buildtools_project>/BaseTools/Source/Python/Trim/Trim.py
     83       MigrationMsa2Inf    <buildtools_project>/BaseTools/Source/Python/MigrationMsa2Inf/MigrationMsa2Inf.py
     84       UPT                 <buildtools_project>/BaseTools/Source/Python/UPT/UPT.py
     85