remove unnecessary comments introduced by tools.
[mirror_edk2.git] / BuildNotes2.txt
CommitLineData
e4d8dbc9 1Intel(R) Platform Innovation Framework for EFI\r
2EFI Development Kit II Prime (EDK II Prime)\r
3Root Package 1.00\r
1f4c44ad 42008-05-15\r
e4d8dbc9 5\r
6Intel is a trademark or registered trademark of Intel Corporation or its\r
7subsidiaries in the United States and other countries.\r
8* Other names and brands may be claimed as the property of others.\r
1f4c44ad 9Copyright (c) 2007 - 2008, Intel Corporation All rights reserved.\r
e4d8dbc9 10\r
11EDK II Prime packages are in the development phase. They consist of:\r
12\r
f91b9b30 13 BuildNotes2.txt - The build notes for this package\r
14 MdePkg - Industry-standard headers and libraries\r
15 BaseTools - Build -specific tools that are designed to help the\r
16 developer create and modify drivers and libraries\r
17 IntelFrameworkPkg - Tiano/Framework Includes and Libraries\r
18 MdeModulePkg - UEFI 2.1/PI 1.0 compliant modules\r
19 IntelFrameworkModulePKg - Tiano/Framework Includes and Libraries\r
20 Nt32Pkg - UEFI 2.1/PI 1.0 emulation environment for Windows\r
21 FatBinPkg - Binaries built from the FatPkg \r
1f4c44ad 22 EdkShellBinPkg - Binaries of full shell, minimum shell and commands\r
f91b9b30 23\r
24Note:\r
1f4c44ad 25 EdkShellBinPkg is supported to support both EDK II build and EDKII Prime\r
26 build by having several module description files.\r
27\r
e4d8dbc9 28\r
29-------------------------------------------------------------------------------\r
1f4c44ad 30The most recent version of the setup instructions is available on the EDK II\r
31web-site:\r
32 https://edk2.tianocore.org/installation.html\r
33\r
34\r
35-------------------------------------------------------------------------------\r
36Quick Start (Windows Development Platform)\r
e4d8dbc9 37-----------\r
38\r
1f4c44ad 39In a command prompt window, change to the top-level directory of the EDK II \r
40source.\r
e4d8dbc9 41\r
1f4c44ad 42Note:\r
43 The first time the edksetup script is executed, it creates three files in the\r
44 %WORKSPACE%\Conf directory. The files: tools_def.txt, target.txt and\r
45 build_rule.txt, are only created if they do not exist, if they exist, they\r
46 are not touched.\r
47\r
48First, set up your project workspace. If you have previously initialized this\r
49WORKSPACE, and a newer version of the *.template files in\r
50WORKSPACE\BaseTools\Conf exists, remove the *.txt files in the WORKSPACE\Conf\r
51directory prior to running the edksetup script.\r
52\r
53For the reference build of the Nt32 Platform emulation environment, use the \r
54edksetup.bat option: --nt32. For building other platforms or modules, this\r
55option is not required, as Visual Studio standard includes, libraries and/or\r
56dlls are not required for normal development.\r
8014e7ce 57\r
58 c:\MyWork\edk2\> edksetup --nt32\r
e4d8dbc9 59\r
1f4c44ad 60The default tool chain (named MYTOOLS) is pre-configured to use VS2005 for IA32\r
61and X64 target architectures and the DDK for IPF target architectures. To use a\r
62different tool chain, either modify the tools_def.txt file's MYTOOLS entries,\r
63or modify the %WORKSPACE%\Conf\target.txt file's TOOL_CHAIN_TAG. The pre-defined\r
64tags are listed near the top of the %WORKSPACE%\Conf\tools_def.txt file, below\r
65the Supported Tool Chains comment.\r
66Alternatively, you may use the build command's -t option to specify a different\r
67tool chain tag name: build -t VS2003 ... , for example. Using this method will\r
68require that you always use the build command's -t option.\r
69\r
70\r
71Next, go to the module directory and begin to build. This example is for the\r
72HelloWorld application.\r
73\r
e4d8dbc9 74 c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld\r
75 c:\MyWork\edk2\> build\r
76\r
1f4c44ad 77If you want to build the a module in another package (for example, \r
78MdePkg\Library\BaseLib\BaseLib.inf), please edit the file,\r
79%WORKSPACE%\Conf\Target.txt, first.\r
e4d8dbc9 80\r
1f4c44ad 81Change the following line\r
e4d8dbc9 82 ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc\r
83to\r
84 ACTIVE_PLATFORM = MdePkg/MdePkg.dsc\r
85\r
1f4c44ad 86Then go to MdePkg\Library\BaseLib directory and type build:\r
e4d8dbc9 87 c:\MyWork\edk2\> cd MdePkg\Library\BaseLib\r
88 c:\MyWork\edk2\> build\r
89\r
1f4c44ad 90If you want build a platform, ACTIVE_PLATFORM must be set to your desired\r
91platform dsc file, go to directory which must be not a module's directory, and\r
92run "build" command.\r
11dd6c39 93\r
1f4c44ad 94Instead of changing Target.txt, you can specify platform, module and/or\r
95architecture on command line.\r
183bc309 96For example, if you want to build NT32 platform, you can just type \r
97\r
1f4c44ad 98 c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32\r
183bc309 99\r
100and if you want to build HelloWorld module, you can just type\r
101\r
1f4c44ad 102 c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf\r
183bc309 103\r
1f4c44ad 104Other helpful command line options of build tool include "-v" and "-d".\r
105The "-v" option is used to turn on the verbose build, which provide more\r
106information during the build. "-d <debug level 0-9>" option is used to\r
183bc309 107turn on the debug information which is helpful debugging build tools.\r
108\r
1f4c44ad 109For more information on build options, please try "build -h" on command line.\r
110\r
111Note:\r
112 The Windows style help option "/?" is not a valid option for the build\r
113 command.\r
183bc309 114\r
115\r
116-------------------------------------------------------------------------------\r
117Supported build targets\r
118-----------------------\r
119\r
0c71bc32 120all - Build whole platform or module. It can be ignored.\r
121genc - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.\r
122genmake - Generate makefiles in addition to files generated by "genc" target.\r
183bc309 123clean - Clean intermediate files\r
1f4c44ad 124cleanall - Clean all generated files and directories during build, except the\r
125 generated Makefile files (top level and module makefiles)\r
183bc309 126cleanlib - Clean all generated files and directories during library build\r
0c71bc32 127run - Launch NT32 shell (only valid for NT32 platform)\r
183bc309 128\r
11dd6c39 129-------------------------------------------------------------------------------\r
130Tools in Python\r
131---------------\r
132\r
133* Run buld tool written in Python from source\r
1f4c44ad 134 The build tool written in Python can be executed from its source directly as\r
135 long as you have the Python interpreter (version 2.5) installed. The source\r
136 of Python code is locating at:\r
137\r
138 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python\r
139\r
140 where:\r
141\r
142 build/build.py - The entry tool of build tools\r
1f4c44ad 143\r
144 "build.py" steps:\r
145 1. Run "edksetup.bat"\r
146 2. set PYTHONPATH to the local directory of above source\r
147 (BaseTools/Source/Python)\r
148 3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
149 4. Go to platform or module directory\r
150 5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or\r
151 "<python_source_dir>/build/build.py" directly.\r
152\r
11dd6c39 153* Convert Python source to exe file\r
1f4c44ad 154 The tools written in Python can be coverted into executable program which can\r
155 be executed without Python interpreter. One of the conversion tools is called\r
156 cx_Freeze, available at: \r
11dd6c39 157\r
1f4c44ad 158 http://sourceforge.net/projects/cx-freeze/\r
11dd6c39 159\r
1f4c44ad 160 If you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use the following\r
161 command lines to convert MyBuild.py to a Windows executable.\r
11dd6c39 162\r
0c71bc32 163 set PYTHONPATH=<buildtools>\BaseTools\Source\Python\r
1f4c44ad 164 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
11dd6c39 165\r
1f4c44ad 166 The generated .exe files are put in "mybuild" subdirectory.\r
e4d8dbc9 167\r