1) Add Doxygen Comments
[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
42007-06-25\r
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
9Copyright (c) 2007, Intel Corporation\r
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
22 EdkShellBinPkg - Binaries of full shell, minimum shell and commonds(to be added)\r
23\r
24Note:\r
25 EdkShellBinPkg is supported to support both EDK II build and EDKII Prime build by having several module description files.\r
e4d8dbc9 26\r
27-------------------------------------------------------------------------------\r
28Quick Start\r
29-----------\r
30\r
e4d8dbc9 31In a command window, change to the top-level directory of the EDK II source.\r
32\r
11dd6c39 33First, set up your workspace. If you have had a setup, please make sure that\r
34you don't have newer *.template in WORKSPACE\BaseTools\Conf. Otherwise remove\r
8014e7ce 35*.txt files in WORKSPACE\Conf in advance. For the reference build of the Nt32\r
36Platform emulation environment, use the --nt32 option for edksetup. Building\r
37other platforms or modules do not require this option, as Visual Studio standard\r
38includes, libraries and/or dlls are not required for normal development.\r
39\r
40 c:\MyWork\edk2\> edksetup --nt32\r
e4d8dbc9 41\r
42Second, go to the module directory (For example, MdeModulePkg\Application\HelloWorld),\r
43and then begin to build\r
44 c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld\r
45 c:\MyWork\edk2\> build\r
46\r
47If you want to build the modules in other packages\r
183bc309 48(For example, MdePkg\Library\BaseLib\BaseLib.inf), please edit open the <WORKSPACE>\Conf\Target.txt first,\r
e4d8dbc9 49\r
50change the following line\r
51 ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc\r
52to\r
53 ACTIVE_PLATFORM = MdePkg/MdePkg.dsc\r
54\r
55and then go to MdePkg\Library\BaseLib directory and build\r
56 c:\MyWork\edk2\> cd MdePkg\Library\BaseLib\r
57 c:\MyWork\edk2\> build\r
58\r
d57e875c 59If you want build a platform, ACTIVE_PLATFORM must be set to your desired platform dsc file,\r
11dd6c39 60go to directory which must be not a module's directory, and run "build" command.\r
61\r
183bc309 62Instead of changing Target.txt, you can specify platform, module and/or architecture on command line.\r
63For example, if you want to build NT32 platform, you can just type \r
64\r
65 c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32\r
66\r
67and if you want to build HelloWorld module, you can just type\r
68\r
69 c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf\r
70\r
71Other helpful command line options of build tool include "-v" and "-d". "-v" option is used to turn on\r
72the verbose build, which provide more information during the build. "-d <debug level 0-9>" option is used to\r
73turn on the debug information which is helpful debugging build tools.\r
74\r
75For more information on build options, please try "build -h" on command line. Note that "/?" is not working.\r
76\r
77\r
78-------------------------------------------------------------------------------\r
79Supported build targets\r
80-----------------------\r
81\r
0c71bc32 82all - Build whole platform or module. It can be ignored.\r
83genc - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.\r
84genmake - Generate makefiles in addition to files generated by "genc" target.\r
183bc309 85clean - Clean intermediate files\r
86cleanall - Clean all generated files and directories during build, except Makefile\r
87cleanlib - Clean all generated files and directories during library build\r
0c71bc32 88run - Launch NT32 shell (only valid for NT32 platform)\r
183bc309 89\r
11dd6c39 90-------------------------------------------------------------------------------\r
91Tools in Python\r
92---------------\r
93\r
94* Run buld tool written in Python from source\r
95 The build tool written in Python can be executed from its source directly as long as you\r
96have the Python interpreter (version 2.5) installed. The source of Python code is locating at\r
97\r
98 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python\r
99\r
100 where:\r
101\r
0c71bc32 102 build/build.py - The entry tool of build tools\r
103 AutoGen/AutoGen.py - Generate AutoGen.c/.h and makefile only\r
11dd6c39 104\r
0c71bc32 105 "build.py" steps:\r
8014e7ce 106 1. Run "edksetup.bat"\r
0c71bc32 107 2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)\r
108 3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
109 4. Go to platform or module directory\r
110 5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or "<python_source_dir>/build/build.py"\r
11dd6c39 111 directly.\r
112\r
113 "AutoGen.py" steps:\r
8014e7ce 114 1. Run "edksetup.bat"\r
0c71bc32 115 2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)\r
116 3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
117 4. Run "<python_interpreter.exe> <python_source_dir>/AutoGen/AutoGen.py" or "<python_source_dir>/AutoGen/AutoGen.py"\r
11dd6c39 118\r
119* Convert Python source to exe file\r
120 The tools written in Python can be coverted into executable program which can be executed\r
121without Python interpreter. One of the convertion tools is called cx_Freeze at \r
122\r
123 http://sourceforge.net/projects/cx-freeze/\r
124\r
125 Suppose you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command line to convert MyBuild.py\r
126\r
0c71bc32 127 set PYTHONPATH=<buildtools>\BaseTools\Source\Python\r
d57e875c 128 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 129\r
130 The generated .exe files are put in "mybuild" subdirectory.\r
e4d8dbc9 131\r