]>
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 | |
4 | 2007-06-25\r | |
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 | |
9 | Copyright (c) 2007, Intel Corporation\r | |
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 | |
22 | EdkShellBinPkg - Binaries of full shell, minimum shell and commonds(to be added)\r | |
23 | \r | |
24 | Note:\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 | |
28 | Quick Start\r | |
29 | -----------\r | |
30 | \r | |
e4d8dbc9 | 31 | In a command window, change to the top-level directory of the EDK II source.\r |
32 | \r | |
11dd6c39 | 33 | First, set up your workspace. If you have had a setup, please make sure that\r |
34 | you 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 |
36 | Platform emulation environment, use the --nt32 option for edksetup. Building\r | |
37 | other platforms or modules do not require this option, as Visual Studio standard\r | |
38 | includes, libraries and/or dlls are not required for normal development.\r | |
39 | \r | |
40 | c:\MyWork\edk2\> edksetup --nt32\r | |
e4d8dbc9 | 41 | \r |
42 | Second, go to the module directory (For example, MdeModulePkg\Application\HelloWorld),\r | |
43 | and then begin to build\r | |
44 | c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld\r | |
45 | c:\MyWork\edk2\> build\r | |
46 | \r | |
47 | If 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 |
50 | change the following line\r | |
51 | ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc\r | |
52 | to\r | |
53 | ACTIVE_PLATFORM = MdePkg/MdePkg.dsc\r | |
54 | \r | |
55 | and 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 | 59 | If you want build a platform, ACTIVE_PLATFORM must be set to your desired platform dsc file,\r |
11dd6c39 | 60 | go to directory which must be not a module's directory, and run "build" command.\r |
61 | \r | |
183bc309 | 62 | Instead of changing Target.txt, you can specify platform, module and/or architecture on command line.\r |
63 | For 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 | |
67 | and 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 | |
71 | Other helpful command line options of build tool include "-v" and "-d". "-v" option is used to turn on\r | |
72 | the verbose build, which provide more information during the build. "-d <debug level 0-9>" option is used to\r | |
73 | turn on the debug information which is helpful debugging build tools.\r | |
74 | \r | |
75 | For more information on build options, please try "build -h" on command line. Note that "/?" is not working.\r | |
76 | \r | |
77 | \r | |
78 | -------------------------------------------------------------------------------\r | |
79 | Supported build targets\r | |
80 | -----------------------\r | |
81 | \r | |
0c71bc32 | 82 | all - Build whole platform or module. It can be ignored.\r |
83 | genc - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.\r | |
84 | genmake - Generate makefiles in addition to files generated by "genc" target.\r | |
183bc309 | 85 | clean - Clean intermediate files\r |
86 | cleanall - Clean all generated files and directories during build, except Makefile\r | |
87 | cleanlib - Clean all generated files and directories during library build\r | |
0c71bc32 | 88 | run - Launch NT32 shell (only valid for NT32 platform)\r |
183bc309 | 89 | \r |
11dd6c39 | 90 | -------------------------------------------------------------------------------\r |
91 | Tools 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 | |
96 | have 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 | |
121 | without 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 |