]>
Commit | Line | Data |
---|---|---|
e4d8dbc9 | 1 | Intel(R) Platform Innovation Framework for EFI\r |
2 | EFI Development Kit II Prime (EDK II Prime)\r | |
3 | Root Package 1.00\r | |
1f4c44ad | 4 | 2008-05-15\r |
e4d8dbc9 | 5 | \r |
6 | Intel is a trademark or registered trademark of Intel Corporation or its\r | |
7 | subsidiaries in the United States and other countries.\r | |
8 | * Other names and brands may be claimed as the property of others.\r | |
1f4c44ad | 9 | Copyright (c) 2007 - 2008, Intel Corporation All rights reserved.\r |
e4d8dbc9 | 10 | \r |
11 | EDK 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 |
24 | Note:\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 | 30 | The most recent version of the setup instructions is available on the EDK II\r |
31 | web-site:\r | |
32 | https://edk2.tianocore.org/installation.html\r | |
33 | \r | |
34 | \r | |
35 | -------------------------------------------------------------------------------\r | |
36 | Quick Start (Windows Development Platform)\r | |
e4d8dbc9 | 37 | -----------\r |
38 | \r | |
1f4c44ad | 39 | In a command prompt window, change to the top-level directory of the EDK II \r |
40 | source.\r | |
e4d8dbc9 | 41 | \r |
1f4c44ad | 42 | Note:\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 | |
48 | First, set up your project workspace. If you have previously initialized this\r | |
49 | WORKSPACE, and a newer version of the *.template files in\r | |
50 | WORKSPACE\BaseTools\Conf exists, remove the *.txt files in the WORKSPACE\Conf\r | |
51 | directory prior to running the edksetup script.\r | |
52 | \r | |
53 | For the reference build of the Nt32 Platform emulation environment, use the \r | |
54 | edksetup.bat option: --nt32. For building other platforms or modules, this\r | |
55 | option is not required, as Visual Studio standard includes, libraries and/or\r | |
56 | dlls are not required for normal development.\r | |
8014e7ce | 57 | \r |
58 | c:\MyWork\edk2\> edksetup --nt32\r | |
e4d8dbc9 | 59 | \r |
1f4c44ad | 60 | The default tool chain (named MYTOOLS) is pre-configured to use VS2005 for IA32\r |
61 | and X64 target architectures and the DDK for IPF target architectures. To use a\r | |
62 | different tool chain, either modify the tools_def.txt file's MYTOOLS entries,\r | |
63 | or modify the %WORKSPACE%\Conf\target.txt file's TOOL_CHAIN_TAG. The pre-defined\r | |
64 | tags are listed near the top of the %WORKSPACE%\Conf\tools_def.txt file, below\r | |
65 | the Supported Tool Chains comment.\r | |
66 | Alternatively, you may use the build command's -t option to specify a different\r | |
67 | tool chain tag name: build -t VS2003 ... , for example. Using this method will\r | |
68 | require that you always use the build command's -t option.\r | |
69 | \r | |
70 | \r | |
71 | Next, go to the module directory and begin to build. This example is for the\r | |
72 | HelloWorld application.\r | |
73 | \r | |
e4d8dbc9 | 74 | c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld\r |
75 | c:\MyWork\edk2\> build\r | |
76 | \r | |
1f4c44ad | 77 | If you want to build the a module in another package (for example, \r |
78 | MdePkg\Library\BaseLib\BaseLib.inf), please edit the file,\r | |
79 | %WORKSPACE%\Conf\Target.txt, first.\r | |
e4d8dbc9 | 80 | \r |
1f4c44ad | 81 | Change the following line\r |
e4d8dbc9 | 82 | ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc\r |
83 | to\r | |
84 | ACTIVE_PLATFORM = MdePkg/MdePkg.dsc\r | |
85 | \r | |
1f4c44ad | 86 | Then 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 | 90 | If you want build a platform, ACTIVE_PLATFORM must be set to your desired\r |
91 | platform dsc file, go to directory which must be not a module's directory, and\r | |
92 | run "build" command.\r | |
11dd6c39 | 93 | \r |
1f4c44ad | 94 | Instead of changing Target.txt, you can specify platform, module and/or\r |
95 | architecture on command line.\r | |
183bc309 | 96 | For 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 |
100 | and 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 | 104 | Other helpful command line options of build tool include "-v" and "-d".\r |
105 | The "-v" option is used to turn on the verbose build, which provide more\r | |
106 | information during the build. "-d <debug level 0-9>" option is used to\r | |
183bc309 | 107 | turn on the debug information which is helpful debugging build tools.\r |
108 | \r | |
1f4c44ad | 109 | For more information on build options, please try "build -h" on command line.\r |
110 | \r | |
111 | Note:\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 | |
117 | Supported build targets\r | |
118 | -----------------------\r | |
119 | \r | |
0c71bc32 | 120 | all - Build whole platform or module. It can be ignored.\r |
121 | genc - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.\r | |
122 | genmake - Generate makefiles in addition to files generated by "genc" target.\r | |
183bc309 | 123 | clean - Clean intermediate files\r |
1f4c44ad | 124 | cleanall - Clean all generated files and directories during build, except the\r |
125 | generated Makefile files (top level and module makefiles)\r | |
183bc309 | 126 | cleanlib - Clean all generated files and directories during library build\r |
0c71bc32 | 127 | run - Launch NT32 shell (only valid for NT32 platform)\r |
183bc309 | 128 | \r |
11dd6c39 | 129 | -------------------------------------------------------------------------------\r |
130 | Tools 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 |