Quick Start\r
-----------\r
\r
-NOTE: Please confirm you have already installed Python on your machine.\r
-\r
In a command window, change to the top-level directory of the EDK II source.\r
\r
First, set up your workspace. If you have had a setup, please make sure that\r
you don't have newer *.template in WORKSPACE\BaseTools\Conf. Otherwise remove\r
-*.txt files in WORKSPACE\Conf in advance.\r
- c:\MyWork\edk2\> edksetup newbuild\r
+*.txt files in WORKSPACE\Conf in advance. For the reference build of the Nt32\r
+Platform emulation environment, use the --nt32 option for edksetup. Building\r
+other platforms or modules do not require this option, as Visual Studio standard\r
+includes, libraries and/or dlls are not required for normal development.\r
+\r
+ c:\MyWork\edk2\> edksetup --nt32\r
\r
Second, go to the module directory (For example, MdeModulePkg\Application\HelloWorld),\r
and then begin to build\r
c:\MyWork\edk2\> build\r
\r
If you want to build the modules in other packages\r
-(For example, MdePkg\Library\BaseLib\BaseLib.inf), please edit open the BaseTools\Conf\Target.txt firstly,\r
+(For example, MdePkg\Library\BaseLib\BaseLib.inf), please edit open the <WORKSPACE>\Conf\Target.txt first,\r
\r
change the following line\r
ACTIVE_PLATFORM = MdeModulePkg/MdeModulePkg.dsc\r
If you want build a platform, ACTIVE_PLATFORM must be set to your desired platform dsc file,\r
go to directory which must be not a module's directory, and run "build" command.\r
\r
+Instead of changing Target.txt, you can specify platform, module and/or architecture on command line.\r
+For example, if you want to build NT32 platform, you can just type \r
+\r
+ c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32\r
+\r
+and if you want to build HelloWorld module, you can just type\r
+\r
+ c:\MyWork\edk2\> build -p Nt32Pkg\Nt32Pkg.dsc -a IA32 -m MdeModulePkg\Application\HelloWorld\HelloWorld.inf\r
+\r
+Other helpful command line options of build tool include "-v" and "-d". "-v" option is used to turn on\r
+the verbose build, which provide more information during the build. "-d <debug level 0-9>" option is used to\r
+turn on the debug information which is helpful debugging build tools.\r
+\r
+For more information on build options, please try "build -h" on command line. Note that "/?" is not working.\r
+\r
+\r
+-------------------------------------------------------------------------------\r
+Supported build targets\r
+-----------------------\r
+\r
+all - Build whole platform or module. It can be ignored.\r
+genc - Generate AutoGen.c, AutoGen.h and <ModuleName>.depex files only.\r
+genmake - Generate makefiles in addition to files generated by "genc" target.\r
+clean - Clean intermediate files\r
+cleanall - Clean all generated files and directories during build, except Makefile\r
+cleanlib - Clean all generated files and directories during library build\r
+run - Launch NT32 shell (only valid for NT32 platform)\r
+\r
-------------------------------------------------------------------------------\r
Tools in Python\r
---------------\r
\r
where:\r
\r
- MyBuild.py - The temporary "build" tool from which the "build.exe" is coming\r
- AutoGen.py - Generate AutoGen.c/.h and makefile only\r
+ build/build.py - The entry tool of build tools\r
+ AutoGen/AutoGen.py - Generate AutoGen.c/.h and makefile only\r
\r
- "MyBuild.py" steps:\r
- 1. Run "edksetup.bat newbuild"\r
- 2. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
- 3. Go to platform or module directory\r
- 4. Run "<python_interpreter.exe> <python_source_dir>\MyBuild.py" or "<python_source_dir>\MyBuild.py"\r
+ "build.py" steps:\r
+ 1. Run "edksetup.bat"\r
+ 2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)\r
+ 3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
+ 4. Go to platform or module directory\r
+ 5. Run "<python_interpreter.exe> <python_source_dir>/build/build.py" or "<python_source_dir>/build/build.py"\r
directly.\r
\r
"AutoGen.py" steps:\r
- 1. Run "edksetup.bat newbuild"\r
- 2. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
- 4. Run "<python_interpreter.exe> <python_source_dir>\AutoGen.py" or "<python_source_dir>\AutoGen.py"\r
+ 1. Run "edksetup.bat"\r
+ 2. set PYTHONPATH to the local directory of above source (BaseTools/Source/Python)\r
+ 3. Set ACTIVE_PLATFORM in WORKSPACE\Conf\r
+ 4. Run "<python_interpreter.exe> <python_source_dir>/AutoGen/AutoGen.py" or "<python_source_dir>/AutoGen/AutoGen.py"\r
\r
* Convert Python source to exe file\r
The tools written in Python can be coverted into executable program which can be executed\r
\r
Suppose you have installed cx_Freeze at c:\cx_Freeze-3.0.3. Use following command line to convert MyBuild.py\r
\r
+ set PYTHONPATH=<buildtools>\BaseTools\Source\Python\r
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
\r
The generated .exe files are put in "mybuild" subdirectory.\r