blob: ffec64462ddc4f35e9ae33197dc38871ca19a040 [file] [log] [blame]
vanjeffe4d8dbc2007-06-25 11:16:31 +00001Intel(R) Platform Innovation Framework for EFI
2EFI Development Kit II Prime (EDK II Prime)
3Root Package 1.00
42007-06-25
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
10
11EDK II Prime packages are in the development phase. They consist of:
12
qhuang8f91b9b32007-07-02 06:10:56 +000013 BuildNotes2.txt - The build notes for this package
14 MdePkg - Industry-standard headers and libraries
15 BaseTools - Build -specific tools that are designed to help the
16 developer create and modify drivers and libraries
17 IntelFrameworkPkg - Tiano/Framework Includes and Libraries
18 MdeModulePkg - UEFI 2.1/PI 1.0 compliant modules
19 IntelFrameworkModulePKg - Tiano/Framework Includes and Libraries
20 Nt32Pkg - UEFI 2.1/PI 1.0 emulation environment for Windows
21 FatBinPkg - Binaries built from the FatPkg
22 EdkShellBinPkg - Binaries of full shell, minimum shell and commonds(to be added)
vanjeffe4d8dbc2007-06-25 11:16:31 +000023
qhuang8f91b9b32007-07-02 06:10:56 +000024Note:
25 EdkShellBinPkg is supported to support both EDK II build and EDKII Prime build by having several module description files.
vanjeffe4d8dbc2007-06-25 11:16:31 +000026
27-------------------------------------------------------------------------------
28Quick Start
29-----------
30
vanjeffe4d8dbc2007-06-25 11:16:31 +000031In a command window, change to the top-level directory of the EDK II source.
32
jwang3611dd6c32007-06-27 02:16:16 +000033First, set up your workspace. If you have had a setup, please make sure that
34you don't have newer *.template in WORKSPACE\BaseTools\Conf. Otherwise remove
35*.txt files in WORKSPACE\Conf in advance.
vanjeffe4d8dbc2007-06-25 11:16:31 +000036 c:\MyWork\edk2\> edksetup newbuild
37
38Second, go to the module directory (For example, MdeModulePkg\Application\HelloWorld),
39and then begin to build
40 c:\MyWork\edk2\> cd MdeModulePkg\Application\HelloWorld
41 c:\MyWork\edk2\> build
42
43If you want to build the modules in other packages
jwang36183bc302007-07-19 01:43:29 +000044(For example, MdePkg\Library\BaseLib\BaseLib.inf), please edit open the <WORKSPACE>\Conf\Target.txt first,
vanjeffe4d8dbc2007-06-25 11:16:31 +000045
46change the following line
47 ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc
48to
49 ACTIVE_PLATFORM = MdePkg/MdePkg.dsc
50
51and then go to MdePkg\Library\BaseLib directory and build
52 c:\MyWork\edk2\> cd MdePkg\Library\BaseLib
53 c:\MyWork\edk2\> build
54
jwang36d57e8752007-06-29 02:54:29 +000055If you want build a platform, ACTIVE_PLATFORM must be set to your desired platform dsc file,
jwang3611dd6c32007-06-27 02:16:16 +000056go to directory which must be not a module's directory, and run "build" command.
57
jwang36183bc302007-07-19 01:43:29 +000058Instead of changing Target.txt, you can specify platform, module and/or architecture on command line.
59For example, if you want to build NT32 platform, you can just type
60
61 c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32
62
63and if you want to build HelloWorld module, you can just type
64
65 c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf
66
67Other helpful command line options of build tool include "-v" and "-d". "-v" option is used to turn on
68the verbose build, which provide more information during the build. "-d <debug level 0-9>" option is used to
69turn on the debug information which is helpful debugging build tools.
70
71For more information on build options, please try "build -h" on command line. Note that "/?" is not working.
72
73
74-------------------------------------------------------------------------------
75Supported build targets
76-----------------------
77
jwang360c71bc32007-09-03 06:11:35 +000078all - Build whole platform or module. It can be ignored.
79genc - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.
80genmake - Generate makefiles in addition to files generated by "genc" target.
jwang36183bc302007-07-19 01:43:29 +000081clean - Clean intermediate files
82cleanall - Clean all generated files and directories during build, except Makefile
83cleanlib - Clean all generated files and directories during library build
jwang360c71bc32007-09-03 06:11:35 +000084run - Launch NT32 shell (only valid for NT32 platform)
jwang36183bc302007-07-19 01:43:29 +000085
jwang3611dd6c32007-06-27 02:16:16 +000086-------------------------------------------------------------------------------
87Tools in Python
88---------------
89
90* Run buld tool written in Python from source
91 The build tool written in Python can be executed from its source directly as long as you
92have the Python interpreter (version 2.5) installed. The source of Python code is locating at
93
94 https://buildtools.tianocore.org/svn/buildtools/trunk/BaseTools/Source/Python
95
96 where:
97
jwang360c71bc32007-09-03 06:11:35 +000098 build/build.py - The entry tool of build tools
99 AutoGen/AutoGen.py - Generate AutoGen.c/.h and makefile only
jwang3611dd6c32007-06-27 02:16:16 +0000100
jwang360c71bc32007-09-03 06:11:35 +0000101 "build.py" steps:
jwang3611dd6c32007-06-27 02:16:16 +0000102 1. Run "edksetup.bat newbuild"
jwang360c71bc32007-09-03 06:11:35 +0000103 2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)
104 3. Set ACTIVE_PLATFORM in WORKSPACE\Conf
105 4. Go to platform or module directory
106 5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or "<python_source_dir>/build/build.py"
jwang3611dd6c32007-06-27 02:16:16 +0000107 directly.
108
109 "AutoGen.py" steps:
110 1. Run "edksetup.bat newbuild"
jwang360c71bc32007-09-03 06:11:35 +0000111 2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)
112 3. Set ACTIVE_PLATFORM in WORKSPACE\Conf
113 4. Run "<python_interpreter.exe> <python_source_dir>/AutoGen/AutoGen.py" or "<python_source_dir>/AutoGen/AutoGen.py"
jwang3611dd6c32007-06-27 02:16:16 +0000114
115* Convert Python source to exe file
116 The tools written in Python can be coverted into executable program which can be executed
117without Python interpreter. One of the convertion tools is called cx_Freeze at
118
119 http://sourceforge.net/projects/cx-freeze/
120
121 Suppose you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command line to convert MyBuild.py
122
jwang360c71bc32007-09-03 06:11:35 +0000123 set PYTHONPATH=<buildtools>\BaseTools\Source\Python
jwang36d57e8752007-06-29 02:54:29 +0000124 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
jwang3611dd6c32007-06-27 02:16:16 +0000125
126 The generated .exe files are put in "mybuild" subdirectory.
vanjeffe4d8dbc2007-06-25 11:16:31 +0000127