Update for NetworkPkg.
[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
92063c4e 4@REM Copyright (c) 2006 - 2010, 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
64 if defined VS71COMNTOOLS (\r
65 call "%VS71COMNTOOLS%\vsvars32.bat"\r
66 ) else (\r
67 if defined VS80COMNTOOLS (\r
68 call "%VS80COMNTOOLS%\vsvars32.bat"\r
69 ) else (\r
c16243d8 70 if defined VS90COMNTOOLS (\r
71 call "%VS90COMNTOOLS%\vsvars32.bat"\r
72 ) else (\r
73 echo.\r
74 echo !!! WARNING !!! Cannot find Visual Studio !!!\r
75 echo.\r
76 )\r
402bbc76 77 )\r
78 )\r
79)\r
b7509087 80shift\r
b7509087 81\r
3a6b4559 82:no_nt32\r
8014e7ce 83@if /I "%1"=="NewBuild" shift\r
84@if not defined EDK_TOOLS_PATH set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools\r
85@IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools\r
86@call %EDK_TOOLS_PATH%\toolsetup.bat %*\r
3a6b4559 87@if /I "%1"=="Reconfig" shift\r
88@goto check_cygwin\r
8014e7ce 89\r
90:BadBaseTools\r
91 @REM\r
92 @REM Need the BaseTools Package in order to build\r
93 @REM\r
878ddf1f 94 echo.\r
8014e7ce 95 echo !!! ERROR !!! The BaseTools Package was not found !!!\r
878ddf1f 96 echo.\r
8014e7ce 97 echo Set the system environment variable, EDK_TOOLS_PATH to the BaseTools,\r
98 echo For example,\r
99 echo set EDK_TOOLS_PATH=C:\MyTools\BaseTools\r
100 echo The setup script, toolsetup.bat must reside in this folder.\r
101 echo.\r
102 @goto end\r
103\r
a29212b2 104:check_cygwin\r
3a6b4559 105 @if exist c:\cygwin (\r
106 @set CYGWIN_HOME=c:\cygwin\r
8014e7ce 107 ) else (\r
3a6b4559 108 @echo.\r
109 @echo !!! WARNING !!! No CYGWIN_HOME set, gcc build may not be used !!!\r
110 @echo.\r
8014e7ce 111 )\r
878ddf1f 112\r
11f009f1 113@if NOT "%1"=="" goto Usage\r
3a6b4559 114@goto end\r
2fcfed38 115\r
70edbc34 116:Usage\r
3a6b4559 117 @echo.\r
118 @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [--nt32] [Reconfig]"\r
119 @echo --nt32 Call vsvars32.bat for NT32 platform build.\r
120 @echo.\r
121 @echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.\r
122 @echo.\r
123 @echo Note that target.template, tools_def.template and build_rules.template\r
124 @echo will be only copied to target.txt, tools_def.txt and build_rule.txt\r
125 @echo respectively if they do not exist. Using option [Reconfig] to force the copy. \r
126 @echo.\r
8014e7ce 127 @goto end\r
3fab94ed 128\r
878ddf1f 129:end\r
8014e7ce 130 @popd\r
131 @echo on\r
878ddf1f 132\r