]> git.proxmox.com Git - mirror_edk2.git/blame - edksetup.bat
MdeModulePkg Pcd: Refine the code to avoid error report.
[mirror_edk2.git] / edksetup.bat
CommitLineData
8014e7ce 1@REM @file\r
2@REM Windows batch file to setup a WORKSPACE environment\r
878ddf1f 3@REM\r
4c633da4 4@REM Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
24542fb2 5@REM This program and the accompanying materials\r
878ddf1f 6@REM are licensed and made available under the terms and conditions of the BSD License\r
7@REM which accompanies this distribution. The full text of the license may be found at\r
8@REM http://opensource.org/licenses/bsd-license.php\r
a29212b2 9@REM\r
878ddf1f 10@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12@REM\r
13\r
a29212b2 14@REM set CYGWIN_HOME=C:\cygwin\r
878ddf1f 15\r
8014e7ce 16@REM usage: \r
17@REM edksetup.bat [--nt32] [AntBuild] [Rebuild] [ForceRebuild] [Reconfig]\r
302e0e4a 18@REM if the argument, skip is present, only the paths and the\r
19@REM test and set of environment settings are performed. \r
878ddf1f 20\r
21@REM ##############################################################\r
22@REM # You should not have to modify anything below this line\r
23@REM #\r
24\r
25@echo off\r
26\r
3fab94ed 27@REM\r
28@REM Set the WORKSPACE to the current working directory\r
29@REM\r
b7509087 30pushd .\r
31cd %~dp0\r
d27bd9e9 32\r
dff2673e
LG
33if not defined WORKSPACE (\r
34 @goto SetWorkSpace\r
d27bd9e9
LG
35)\r
36\r
dff2673e
LG
37if %WORKSPACE% == %CD% (\r
38 @REM Workspace is not changed.\r
39 @goto ParseArgs\r
40)\r
41\r
42:SetWorkSpace\r
d27bd9e9
LG
43@REM set new workspace\r
44@REM clear EFI_SOURCE and EDK_SOURCE for the new workspace\r
3fab94ed 45set WORKSPACE=%CD%\r
d27bd9e9
LG
46set EFI_SOURCE=\r
47set EDK_SOURCE=\r
3fab94ed 48\r
d27bd9e9 49:ParseArgs\r
26096d36 50@if /I "%1"=="-h" goto Usage\r
51@if /I "%1"=="-help" goto Usage\r
52@if /I "%1"=="--help" goto Usage\r
53@if /I "%1"=="/h" goto Usage\r
54@if /I "%1"=="/?" goto Usage\r
55@if /I "%1"=="/help" goto Usage\r
8014e7ce 56\r
3a6b4559 57@if /I not "%1"=="--nt32" goto no_nt32\r
8014e7ce 58\r
59@REM Flag, --nt32 is set\r
60@REM The Nt32 Emluation Platform requires Microsoft Libraries\r
61@REM and headers to interface with Windows.\r
62\r
402bbc76 63if not defined VCINSTALLDIR (\r
4c633da4
LG
64 if defined VS110COMNTOOLS (\r
65 call "%VS110COMNTOOLS%\vsvars32.bat"\r
402bbc76 66 ) else (\r
4c633da4
LG
67 if defined VS100COMNTOOLS (\r
68 call "%VS100COMNTOOLS%\vsvars32.bat"\r
402bbc76 69 ) else (\r
4c633da4
LG
70 if defined VS90COMNTOOLS (\r
71 call "%VS90COMNTOOLS%\vsvars32.bat"\r
c16243d8 72 ) else (\r
4c633da4
LG
73 if defined VS80COMNTOOLS (\r
74 call "%VS80COMNTOOLS%\vsvars32.bat"\r
48604ef9 75 ) else (\r
4c633da4
LG
76 if defined VS71COMNTOOLS (\r
77 call "%VS71COMNTOOLS%\vsvars32.bat"\r
78 ) else (\r
79 echo.\r
80 echo !!! WARNING !!! Cannot find Visual Studio !!!\r
81 echo.\r
82 )\r
48604ef9 83 )\r
c16243d8 84 )\r
402bbc76 85 )\r
86 )\r
87)\r
b7509087 88shift\r
b7509087 89\r
3a6b4559 90:no_nt32\r
8014e7ce 91@if /I "%1"=="NewBuild" shift\r
92@if not defined EDK_TOOLS_PATH set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools\r
93@IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools\r
94@call %EDK_TOOLS_PATH%\toolsetup.bat %*\r
3a6b4559 95@if /I "%1"=="Reconfig" shift\r
96@goto check_cygwin\r
8014e7ce 97\r
98:BadBaseTools\r
99 @REM\r
100 @REM Need the BaseTools Package in order to build\r
101 @REM\r
878ddf1f 102 echo.\r
8014e7ce 103 echo !!! ERROR !!! The BaseTools Package was not found !!!\r
878ddf1f 104 echo.\r
8014e7ce 105 echo Set the system environment variable, EDK_TOOLS_PATH to the BaseTools,\r
106 echo For example,\r
107 echo set EDK_TOOLS_PATH=C:\MyTools\BaseTools\r
108 echo The setup script, toolsetup.bat must reside in this folder.\r
109 echo.\r
110 @goto end\r
111\r
a29212b2 112:check_cygwin\r
3a6b4559 113 @if exist c:\cygwin (\r
114 @set CYGWIN_HOME=c:\cygwin\r
8014e7ce 115 ) else (\r
3a6b4559 116 @echo.\r
117 @echo !!! WARNING !!! No CYGWIN_HOME set, gcc build may not be used !!!\r
118 @echo.\r
8014e7ce 119 )\r
878ddf1f 120\r
11f009f1 121@if NOT "%1"=="" goto Usage\r
3a6b4559 122@goto end\r
2fcfed38 123\r
70edbc34 124:Usage\r
3a6b4559 125 @echo.\r
126 @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [--nt32] [Reconfig]"\r
127 @echo --nt32 Call vsvars32.bat for NT32 platform build.\r
128 @echo.\r
129 @echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.\r
130 @echo.\r
131 @echo Note that target.template, tools_def.template and build_rules.template\r
132 @echo will be only copied to target.txt, tools_def.txt and build_rule.txt\r
133 @echo respectively if they do not exist. Using option [Reconfig] to force the copy. \r
134 @echo.\r
8014e7ce 135 @goto end\r
3fab94ed 136\r
878ddf1f 137:end\r
8014e7ce 138 @popd\r
139 @echo on\r
878ddf1f 140\r