BaseTools: Rectify use of @ in .BAT files.
[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 33if not defined WORKSPACE (\r
7ef23d9c 34 goto SetWorkSpace\r
d27bd9e9
LG
35)\r
36\r
dff2673e
LG
37if %WORKSPACE% == %CD% (\r
38 @REM Workspace is not changed.\r
7ef23d9c 39 goto ParseArgs\r
dff2673e
LG
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
7ef23d9c
OM
50if /I "%1"=="-h" goto Usage\r
51if /I "%1"=="-help" goto Usage\r
52if /I "%1"=="--help" goto Usage\r
53if /I "%1"=="/h" goto Usage\r
54if /I "%1"=="/?" goto Usage\r
55if /I "%1"=="/help" goto Usage\r
8014e7ce 56\r
7ef23d9c 57if /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
7ef23d9c
OM
91if /I "%1"=="NewBuild" shift\r
92if not defined EDK_TOOLS_PATH set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools\r
93IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools\r
94call %EDK_TOOLS_PATH%\toolsetup.bat %*\r
95if /I "%1"=="Reconfig" shift\r
96goto check_cygwin\r
8014e7ce 97\r
98:BadBaseTools\r
99 @REM\r
7ef23d9c 100 REM Need the BaseTools Package in order to build\r
8014e7ce 101 @REM\r
7ef23d9c
OM
102 @echo.\r
103 @echo !!! ERROR !!! The BaseTools Package was not found !!!\r
104 @echo.\r
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
8014e7ce 111\r
a29212b2 112:check_cygwin\r
7ef23d9c
OM
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
7ef23d9c
OM
121if NOT "%1"=="" goto Usage\r
122goto 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
7ef23d9c 135 goto end\r
3fab94ed 136\r
878ddf1f 137:end\r
7ef23d9c 138 popd\r
878ddf1f 139\r