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