1Intel(R) Platform Innovation Framework for EFI 2BuildTools Project, BaseTools Sub-Project 3Root Package 1.00 42007-08-31 5 6Intel is a trademark or registered trademark of Intel Corporation or its 7subsidiaries in the United States and other countries. 8* Other names and brands may be claimed as the property of others. 9Copyright (c) 2007, Intel Corporation. All rights reserved. 10 11------------------------------------------------------------------------------- 12Quick Start 13----------- 14 15Windows: 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 19Unix-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 25Supported build targets (toolsetup) 26----------------------------------- 27 28build(or none) - Incremental Build of all C based tools. This is the default target 29rebuild - Clean all generated files and directories during build, and rebuild all tools 30 31------------------------------------------------------------------------------- 32Tools 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 64Unix-like systems: 65 66The edk2/edksetup.sh script will setup everything which is needed to 67run the scripts from their source. 68 69Windows: 70 71 The tools written in Python can be executed directly from its source directory 72as long as the Python interpreter (Python 2.5) has been installed. Before the execution, 73please 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 78below. 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