Commit | Line | Data |
---|---|---|
e72f8dfd I |
1 | @setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION |
2 | @echo OFF | |
3 | set BAT_VERSION=v1.0 | |
b4622eb8 I |
4 | set REPORT_NAME=Win_Check_Output.txt |
5 | ||
6 | :: ----------------------------------------------------------------------------- | |
e72f8dfd I |
7 | |
8 | cls | |
9 | ||
10 | echo QMK Windows Check Output %BAT_VERSION% | |
11 | echo QMK Windows Check Output %BAT_VERSION%.>%REPORT_NAME% | |
12 | ||
13 | :: ----------------------------------------------------------------------------- | |
14 | ||
15 | set MINGW_BASE_DIR=C:\MinGW | |
e72f8dfd I |
16 | |
17 | set KEYMAP=atomic-pvc | |
18 | set KEYMAP_CLEAN=atomic-pvc-clean | |
19 | ||
20 | :: ----------------------------------------------------------------------------- | |
21 | ||
39cbf1c2 | 22 | if /I "%1" EQU VERBOSE (goto :Verbose_Make) else (goto :Normal_Make) |
e72f8dfd I |
23 | |
24 | :Normal_Make | |
25 | set MAKE_CMD_LEVEL_0=make -r -f Makefile COLOR=FALSE | |
26 | set MAKE_CMD_LEVEL_1=make -r -f ../Makefile COLOR=FALSE | |
27 | set MAKE_CMD_LEVEL_2=make -r -f ../../Makefile COLOR=FALSE | |
28 | goto :Start_Report | |
29 | ||
30 | :Verbose_Make | |
31 | echo Verbose Mode | |
32 | set MAKE_CMD_LEVEL_0=make -r -d -f Makefile COLOR=FALSE VERBOSE=TRUE | |
33 | set MAKE_CMD_LEVEL_1=make -r -d -f ../Makefile COLOR=FALSE VERBOSE=TRUE | |
34 | set MAKE_CMD_LEVEL_2=make -r -d -f ../../Makefile COLOR=FALSE VERBOSE=TRUE | |
35 | goto :Start_Report | |
36 | ||
37 | :Start_Report | |
38 | ||
39 | ||
40 | :: ----------------------------------------------------------------------------- | |
41 | ||
39cbf1c2 | 42 | set HEADER=CURRENT DIRECTORY & call :ReportHeader |
e72f8dfd I |
43 | |
44 | echo %CD%>>%REPORT_NAME% 2>&1 | |
45 | ||
46 | echo.>>%REPORT_NAME% 2>&1 | |
0d3ce58b | 47 | |
e72f8dfd I |
48 | :: ----------------------------------------------------------------------------- |
49 | ||
39cbf1c2 | 50 | set HEADER=CURRENT PATHS & call :ReportHeader |
e72f8dfd I |
51 | |
52 | for %%A in ("%path:;=";"%") do (echo %%~A>>%REPORT_NAME% 2>&1) | |
53 | ||
54 | echo.>>%REPORT_NAME% 2>&1 | |
55 | ||
56 | :: ----------------------------------------------------------------------------- | |
57 | ||
39cbf1c2 | 58 | rem set HEADER=CURRENT ENVIRONMENTAL SETTINGS & call :ReportHeader |
e72f8dfd | 59 | |
0d3ce58b I |
60 | rem set>>%REPORT_NAME% 2>&1 |
61 | rem echo.>>%REPORT_NAME% 2>&1 | |
e72f8dfd I |
62 | |
63 | :: ----------------------------------------------------------------------------- | |
64 | ||
39cbf1c2 | 65 | set HEADER=KEY EXECUTABLE LOCATIONS - GENERAL & call :ReportHeader |
e72f8dfd | 66 | |
39cbf1c2 I |
67 | set FILENAME=make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion |
68 | set FILENAME=git.exe & set VERSION_CMD=--version & set VERSION_FIND="git" & call :ReportVersion | |
69 | set FILENAME=cmp.exe & set VERSION_CMD=--version & set VERSION_FIND="cmp" & call :ReportVersion | |
e72f8dfd I |
70 | |
71 | :: ----------------------------------------------------------------------------- | |
72 | ||
39cbf1c2 | 73 | set HEADER=EXECUTABLE LOCATIONS - AVR MCU COMPILERS & call :ReportHeader |
e72f8dfd | 74 | |
39cbf1c2 I |
75 | set FILENAME=avr-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="avr" & call :ReportVersion |
76 | set FILENAME=avr-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion | |
77 | set FILENAME=avr-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion | |
78 | set FILENAME=avr-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion | |
79 | set FILENAME=avr-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion | |
80 | set FILENAME=avr-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion | |
e72f8dfd I |
81 | |
82 | :: ----------------------------------------------------------------------------- | |
83 | ||
39cbf1c2 | 84 | set HEADER=EXECUTABLE LOCATIONS - ARM MCU COMPILERS & call :ReportHeader |
e72f8dfd | 85 | |
39cbf1c2 I |
86 | set FILENAME=arm-none-eabi-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="arm-none-eabi-gcc" & call :ReportVersion |
87 | set FILENAME=arm-none-eabi-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion | |
88 | set FILENAME=arm-none-eabi-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion | |
89 | set FILENAME=arm-none-eabi-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion | |
90 | set FILENAME=arm-none-eabi-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion | |
91 | set FILENAME=arm-none-eabi-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion | |
e72f8dfd I |
92 | |
93 | :: ----------------------------------------------------------------------------- | |
94 | ||
39cbf1c2 | 95 | set HEADER=EXECUTABLE LOCATIONS - NATIVE COMPILERS & call :ReportHeader |
e72f8dfd | 96 | |
39cbf1c2 I |
97 | set FILENAME=gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="gcc" & call :ReportVersion |
98 | set FILENAME=objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion | |
99 | set FILENAME=objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion | |
100 | set FILENAME=size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion | |
101 | set FILENAME=ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion | |
102 | set FILENAME=nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion | |
e72f8dfd I |
103 | |
104 | :: ----------------------------------------------------------------------------- | |
105 | ||
39cbf1c2 | 106 | set HEADER=EXECUTABLE LOCATIONS - PROGRAMMERS & call :ReportHeader |
e72f8dfd | 107 | |
39cbf1c2 I |
108 | set FILENAME=dfu-programmer.exe & set VERSION_CMD=--version & set VERSION_FIND="dfu" & call :ReportVersion |
109 | set FILENAME=batchisp.exe & set VERSION_CMD=-version & set VERSION_FIND="batchisp" & call :ReportVersion | |
110 | set FILENAME=dfu-util.exe & call :Report | |
111 | set FILENAME=teensy_loader_cli.exe & call :Report | |
112 | set FILENAME=hid_bootloader_cli.exe & call :Report | |
113 | set FILENAME=avrdude.exe & call :Report | |
e72f8dfd I |
114 | |
115 | :: ----------------------------------------------------------------------------- | |
116 | ||
39cbf1c2 I |
117 | set HEADER=EXECUTABLE LOCATIONS - OPTIONAL & call :ReportHeader |
118 | set FILENAME=cppcheck.exe & call :Report | |
119 | set FILENAME=doxygen.exe & call :Report | |
120 | set FILENAME=gdb-config.exe & call :Report | |
121 | set FILENAME=wget.exe & call :Report | |
122 | set FILENAME=unzip.exe & call :Report | |
e72f8dfd I |
123 | |
124 | :: ----------------------------------------------------------------------------- | |
125 | ||
39cbf1c2 | 126 | set HEADER=MINGW CHECK - OPTIONAL & call :ReportHeader |
e72f8dfd I |
127 | if exist %MINGW_BASE_DIR% (echo Expected MinGW Base Dir = %MINGW_BASE_DIR%>>%REPORT_NAME% 2>&1) else (echo Expected MinGW Base Dir = %MINGW_BASE_DIR% - Not Found>>%REPORT_NAME% 2>&1) |
128 | echo.>>%REPORT_NAME% 2>&1 | |
39cbf1c2 | 129 | set FILENAME=mingw32-make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion |
4f5f5f01 | 130 | if exist %MINGW_BASE_DIR%\bin\make.exe (ECHO It is not recommended to have make.exe in mingw/bin.>>%REPORT_NAME% 2>&1 & echo.>>%REPORT_NAME% 2>&1) |
e72f8dfd I |
131 | |
132 | :: ----------------------------------------------------------------------------- | |
133 | ||
39cbf1c2 | 134 | set HEADER=MAKE CHECK & call :ReportHeader |
e72f8dfd I |
135 | if exist Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_0% & goto MakeFound) |
136 | if exist ..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_1% & goto MakeFound) | |
137 | if exist ..\..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_2% & goto MakeFound) | |
138 | ||
139 | echo No Makfile Found.>>%REPORT_NAME% 2>&1 | |
140 | echo.>>%REPORT_NAME% 2>&1 | |
141 | echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 | |
142 | ||
39cbf1c2 | 143 | goto :ContinueAfterMake |
e72f8dfd I |
144 | |
145 | :MakeFound | |
146 | call :RunMake | |
147 | ||
148 | :ContinueAfterMake | |
39cbf1c2 | 149 | goto :ExitBatch |
e72f8dfd I |
150 | |
151 | :ExitBatch | |
152 | echo Done! | |
153 | echo. | |
154 | rem type %REPORT_NAME% | |
155 | echo. | |
156 | echo See %REPORT_NAME% for the report. | |
157 | endlocal | |
158 | exit /b | |
159 | ||
160 | :: ----------------------------------------------------------------------------- | |
161 | ||
162 | :RunMake | |
163 | ||
164 | echo Makfile Found.>>%REPORT_NAME% 2>&1 | |
165 | echo.>>%REPORT_NAME% 2>&1 | |
39cbf1c2 | 166 | set HEADER=MAKE CLEAN & call :ReportHeader |
e72f8dfd I |
167 | echo Make Command = %MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1 |
168 | echo.>>%REPORT_NAME% 2>&1 | |
169 | %MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1 | |
39cbf1c2 | 170 | set HEADER=MAKE & call :ReportHeader |
e72f8dfd I |
171 | echo Make Command = %MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1 |
172 | echo.>>%REPORT_NAME% 2>&1 | |
173 | %MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1 | |
174 | echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 | |
175 | echo.>>%REPORT_NAME% 2>&1 | |
176 | exit /b | |
177 | ||
178 | :ReportHeader | |
179 | echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 | |
180 | echo.>>%REPORT_NAME% 2>&1 | |
39cbf1c2 | 181 | echo %HEADER%>>%REPORT_NAME% 2>&1 |
e72f8dfd I |
182 | echo.>>%REPORT_NAME% 2>&1 |
183 | exit /b | |
184 | ||
185 | :Report | |
39cbf1c2 | 186 | echo Filename = %FILENAME% >>%REPORT_NAME% 2>&1 |
e72f8dfd | 187 | <nul set /p output="Location = " >>%REPORT_NAME% 2>&1 |
39cbf1c2 | 188 | where %FILENAME% >>%REPORT_NAME% 2> NUL |
e72f8dfd I |
189 | if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReport) |
190 | ||
191 | :EndReport | |
192 | echo.>>%REPORT_NAME% 2>&1 | |
193 | <nul set /p output="." | |
194 | exit /b | |
195 | ||
196 | :ReportVersion | |
39cbf1c2 | 197 | echo Filename = %FILENAME% >>%REPORT_NAME% 2>&1 |
e72f8dfd | 198 | <nul set /p output="Location = " >>%REPORT_NAME% 2>&1 |
39cbf1c2 | 199 | where %FILENAME% >>%REPORT_NAME% 2> NUL |
e72f8dfd I |
200 | if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReportVersion) |
201 | <nul set /p output ="Version = " >>%REPORT_NAME% 2>&1 | |
202 | ||
39cbf1c2 | 203 | (%FILENAME% %VERSION_CMD% | find %VERSION_FIND%) >>%REPORT_NAME% 2>&1 |
e72f8dfd I |
204 | |
205 | :EndReportVersion | |
206 | echo.>>%REPORT_NAME% 2>&1 | |
207 | <nul set /p output="." | |
208 | exit /b |