Fix a bug about the iSCSI DHCP dependency issue.
[mirror_edk2.git] / edksetup.bat
1 @REM @file\r
2 @REM   Windows batch file to setup a WORKSPACE environment\r
3 @REM\r
4 @REM Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
5 @REM This program and the accompanying materials\r
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
9 @REM\r
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
14 @REM set CYGWIN_HOME=C:\cygwin\r
15 \r
16 @REM usage: \r
17 @REM   edksetup.bat [--nt32] [AntBuild] [Rebuild] [ForceRebuild] [Reconfig]\r
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
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
27 @REM\r
28 @REM Set the WORKSPACE to the current working directory\r
29 @REM\r
30 pushd .\r
31 cd %~dp0\r
32 \r
33 if not defined WORKSPACE (\r
34   @goto SetWorkSpace\r
35 )\r
36 \r
37 if %WORKSPACE% == %CD% (\r
38   @REM Workspace is not changed.\r
39   @goto ParseArgs\r
40 )\r
41 \r
42 :SetWorkSpace\r
43 @REM set new workspace\r
44 @REM clear EFI_SOURCE and EDK_SOURCE for the new workspace\r
45 set WORKSPACE=%CD%\r
46 set EFI_SOURCE=\r
47 set EDK_SOURCE=\r
48 \r
49 :ParseArgs\r
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
56 \r
57 @if /I not "%1"=="--nt32" goto no_nt32\r
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
63 if not defined VCINSTALLDIR (\r
64   if defined VS110COMNTOOLS (\r
65     call "%VS110COMNTOOLS%\vsvars32.bat"\r
66   ) else (\r
67     if defined VS100COMNTOOLS (\r
68       call "%VS100COMNTOOLS%\vsvars32.bat"\r
69     ) else (\r
70       if defined VS90COMNTOOLS (\r
71         call "%VS90COMNTOOLS%\vsvars32.bat"\r
72       ) else (\r
73         if defined VS80COMNTOOLS (\r
74           call "%VS80COMNTOOLS%\vsvars32.bat"\r
75         ) else (\r
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
83         )\r
84       )\r
85     )\r
86   )\r
87 )\r
88 shift\r
89 \r
90 :no_nt32\r
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
95 @if /I "%1"=="Reconfig" shift\r
96 @goto check_cygwin\r
97 \r
98 :BadBaseTools\r
99   @REM\r
100   @REM Need the BaseTools Package in order to build\r
101   @REM\r
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
111 \r
112 :check_cygwin\r
113   @if exist c:\cygwin (\r
114     @set CYGWIN_HOME=c:\cygwin\r
115   ) else (\r
116     @echo.\r
117     @echo !!! WARNING !!! No CYGWIN_HOME set, gcc build may not be used !!!\r
118     @echo.\r
119   )\r
120 \r
121 @if NOT "%1"=="" goto Usage\r
122 @goto end\r
123 \r
124 :Usage\r
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
135   @goto end\r
136 \r
137 :end\r
138   @popd\r
139   @echo on\r
140 \r