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