update Fpd2Dsc.exe interface to sync users guide and add tool usage in ReadMe.txt...
[edk2.git] / BaseTools / toolsetup.bat
blobedf1efd08a3f1b6159c7af5d866196872f38cf4f
1 @REM\r
2 @REM Copyright (c) 2006, Intel Corporation\r
3 @REM All rights reserved. This program and the accompanying materials\r
4 @REM are licensed and made available under the terms and conditions of the BSD License\r
5 @REM which accompanies this distribution.  The full text of the license may be found at\r
6 @REM http://opensource.org/licenses/bsd-license.php\r
7 @REM\r
8 @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
9 @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
10 @REM\r
12 @echo off\r
14 REM ##############################################################\r
15 REM # You should not have to modify anything below this line\r
16 REM #\r
18 if /I "%1"=="-h" goto usage\r
19 if /I "%1"=="-help" goto usage\r
20 if /I "%1"=="--help" goto usage\r
21 if /I "%1"=="/h" goto usage\r
22 if /I "%1"=="/?" goto usage\r
23 if /I "%1"=="/help" goto usage\r
25 if /I "%1"=="Reconfig" (\r
26   if NOT "%2"=="" set EDK_TOOLS_PATH=%2\r
27 ) else (\r
28   if NOT "%1"=="" set EDK_TOOLS_PATH=%1\r
29 )\r
31 REM\r
32 REM Check the required system environment variables\r
33 REM\r
35 :check_vc\r
36 if defined VCINSTALLDIR goto setup_workspace\r
37 if defined VS71COMNTOOLS (\r
38   call "%VS71COMNTOOLS%\vsvars32.bat"\r
39 ) else (\r
40   echo.\r
41   echo !!!WARNING!!! Cannot find Visual Studio !!!\r
42   echo.\r
43 )\r
45 :setup_workspace\r
46 REM\r
47 REM check the EDK_TOOLS_PATH\r
48 REM\r
49 if not defined EDK_TOOLS_PATH goto no_tools_path\r
50 if exist %EDK_TOOLS_PATH% goto set_path\r
51 echo.\r
52 echo !!!WARNING!!! %EDK_TOOLS_PATH% doesn't exist. %WORKSPACE%\BaseTools will be used !!!\r
53 echo.\r
55 :no_tools_path\r
56 if exist %WORKSPACE%\BaseTools (\r
57   set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools\r
58 ) else (\r
59   echo.\r
60   echo !!!WARNING!!! No tools path found. Please set EDK_TOOLS_PATH !!!\r
61   echo.\r
62   goto end\r
63 )\r
65 :set_path\r
66 if defined WORKSPACE_TOOLS_PATH goto check_path\r
67 set PATH=%EDK_TOOLS_PATH%\Bin;%EDK_TOOLS_PATH%\Bin\Win32;%PATH%\r
68 set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%\r
69 goto path_ok\r
71 :check_path\r
72 if "%EDK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok\r
73 set PATH=%EDK_TOOLS_PATH%\Bin;%EDK_TOOLS_PATH%\Bin\Win32;%PATH%\r
74 set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%\r
75 echo Resetting the PATH variable to include the EDK_TOOLS_PATH for this WORKSPACE\r
77 :path_ok\r
78 echo           PATH = %PATH%\r
79 echo.\r
80 echo      WORKSPACE = %WORKSPACE%\r
81 echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH%\r
82 echo.\r
84 REM\r
85 REM copy *.template to %WORKSPACE%\Conf\r
86 REM\r
87 if NOT exist %WORKSPACE%\Conf (\r
88   mkdir %WORKSPACE%\Conf\r
89 ) else (\r
90   if /I "%1"=="Reconfig" (\r
91     echo.\r
92     echo  Over-writing the files in the WORKSPACE\Conf directory\r
93     echo  using the default template files\r
94     echo.\r
95   )\r
96 )\r
97 if NOT exist %WORKSPACE%\Conf\FrameworkDatabase.db (\r
98   echo copying ... FrameworkDatabase.template to %WORKSPACE%\Conf\FrameworkDatabase.db\r
99   copy %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.template %WORKSPACE%\Conf\FrameworkDatabase.db > nul\r
100 ) else (\r
101   if /I "%1"=="Reconfig" copy /Y %EDK_TOOLS_PATH%\Conf\FrameworkDatabase.template %WORKSPACE%\Conf\FrameworkDatabase.db > nul\r
103 if NOT exist %WORKSPACE%\Conf\target.txt (\r
104   echo copying ... target.template to %WORKSPACE%\Conf\target.txt\r
105   copy %EDK_TOOLS_PATH%\Conf\target.template %WORKSPACE%\Conf\target.txt > nul\r
106 ) else (\r
107   if /I "%1"=="Reconfig" copy /Y %EDK_TOOLS_PATH%\Conf\target.template %WORKSPACE%\Conf\target.txt > nul\r
109 if NOT exist %WORKSPACE%\Conf\tools_def.txt (\r
110   echo copying ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt\r
111   copy %EDK_TOOLS_PATH%\Conf\tools_def.template %WORKSPACE%\Conf\tools_def.txt > nul\r
112 ) else (\r
113   if /I "%1"=="Reconfig" copy /Y %EDK_TOOLS_PATH%\Conf\tools_def.template %WORKSPACE%\Conf\tools_def.txt > nul\r
115 if NOT exist %WORKSPACE%\Conf\build_rule.txt (\r
116   echo copying ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt\r
117   copy %EDK_TOOLS_PATH%\Conf\build_rule.template %WORKSPACE%\Conf\build_rule.txt > nul\r
118 ) else (\r
119   if /I "%1"=="Reconfig" copy /Y %EDK_TOOLS_PATH%\Conf\build_rule.template %WORKSPACE%\Conf\build_rule.txt > nul\r
122 REM\r
123 REM copy XMLSchema to %EDK_TOOLS_PATH%\Conf\XMLSchema\r
124 REM\r
125 REM echo copying ... XMLSchema to %EDK_TOOLS_PATH%\Conf\XMLSchema\r
126 REM xcopy %WORKSPACE%\Conf\XMLSchema %EDK_TOOLS_PATH%\Conf\XMLSchema /S /I /D /F /Q > nul\r
128 REM\r
129 REM Done!!!\r
130 REM\r
131 goto end\r
133 :usage\r
134 echo.\r
135 echo  "Usage: %0 [/? | /h | /help | -h | -help | --help] [Reconfig] [tools_path]"\r
136 echo.\r
137 echo                      tools_path       Tools' path. EDK_TOOLS_PATH will be set to this path.\r
138 echo.\r
140 :end\r
141 @echo on\r