Fix held key getting stuck when NKRO is toggled (#6570)
[jackhill/qmk/firmware.git] / util / Win_Check.bat
CommitLineData
e72f8dfd
I
1@setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
2@echo OFF
3set BAT_VERSION=v1.0
b4622eb8
I
4set REPORT_NAME=Win_Check_Output.txt
5
6:: -----------------------------------------------------------------------------
e72f8dfd
I
7
8cls
9
10echo QMK Windows Check Output %BAT_VERSION%
11echo QMK Windows Check Output %BAT_VERSION%.>%REPORT_NAME%
12
13:: -----------------------------------------------------------------------------
14
15set MINGW_BASE_DIR=C:\MinGW
e72f8dfd
I
16
17set KEYMAP=atomic-pvc
18set KEYMAP_CLEAN=atomic-pvc-clean
19
20:: -----------------------------------------------------------------------------
21
39cbf1c2 22if /I "%1" EQU VERBOSE (goto :Verbose_Make) else (goto :Normal_Make)
e72f8dfd
I
23
24:Normal_Make
25set MAKE_CMD_LEVEL_0=make -r -f Makefile COLOR=FALSE
26set MAKE_CMD_LEVEL_1=make -r -f ../Makefile COLOR=FALSE
27set MAKE_CMD_LEVEL_2=make -r -f ../../Makefile COLOR=FALSE
28goto :Start_Report
29
30:Verbose_Make
31echo Verbose Mode
32set MAKE_CMD_LEVEL_0=make -r -d -f Makefile COLOR=FALSE VERBOSE=TRUE
33set MAKE_CMD_LEVEL_1=make -r -d -f ../Makefile COLOR=FALSE VERBOSE=TRUE
34set MAKE_CMD_LEVEL_2=make -r -d -f ../../Makefile COLOR=FALSE VERBOSE=TRUE
35goto :Start_Report
36
37:Start_Report
38
39
40:: -----------------------------------------------------------------------------
41
39cbf1c2 42set HEADER=CURRENT DIRECTORY & call :ReportHeader
e72f8dfd
I
43
44echo %CD%>>%REPORT_NAME% 2>&1
45
46echo.>>%REPORT_NAME% 2>&1
0d3ce58b 47
e72f8dfd
I
48:: -----------------------------------------------------------------------------
49
39cbf1c2 50set HEADER=CURRENT PATHS & call :ReportHeader
e72f8dfd
I
51
52for %%A in ("%path:;=";"%") do (echo %%~A>>%REPORT_NAME% 2>&1)
53
54echo.>>%REPORT_NAME% 2>&1
55
56:: -----------------------------------------------------------------------------
57
39cbf1c2 58rem set HEADER=CURRENT ENVIRONMENTAL SETTINGS & call :ReportHeader
e72f8dfd 59
0d3ce58b
I
60rem set>>%REPORT_NAME% 2>&1
61rem echo.>>%REPORT_NAME% 2>&1
e72f8dfd
I
62
63:: -----------------------------------------------------------------------------
64
39cbf1c2 65set HEADER=KEY EXECUTABLE LOCATIONS - GENERAL & call :ReportHeader
e72f8dfd 66
39cbf1c2
I
67set FILENAME=make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion
68set FILENAME=git.exe & set VERSION_CMD=--version & set VERSION_FIND="git" & call :ReportVersion
69set FILENAME=cmp.exe & set VERSION_CMD=--version & set VERSION_FIND="cmp" & call :ReportVersion
e72f8dfd
I
70
71:: -----------------------------------------------------------------------------
72
39cbf1c2 73set HEADER=EXECUTABLE LOCATIONS - AVR MCU COMPILERS & call :ReportHeader
e72f8dfd 74
39cbf1c2
I
75set FILENAME=avr-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="avr" & call :ReportVersion
76set FILENAME=avr-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion
77set FILENAME=avr-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion
78set FILENAME=avr-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion
79set FILENAME=avr-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion
80set FILENAME=avr-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion
e72f8dfd
I
81
82:: -----------------------------------------------------------------------------
83
39cbf1c2 84set HEADER=EXECUTABLE LOCATIONS - ARM MCU COMPILERS & call :ReportHeader
e72f8dfd 85
39cbf1c2
I
86set FILENAME=arm-none-eabi-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="arm-none-eabi-gcc" & call :ReportVersion
87set FILENAME=arm-none-eabi-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion
88set FILENAME=arm-none-eabi-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion
89set FILENAME=arm-none-eabi-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion
90set FILENAME=arm-none-eabi-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion
91set FILENAME=arm-none-eabi-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion
e72f8dfd
I
92
93:: -----------------------------------------------------------------------------
94
39cbf1c2 95set HEADER=EXECUTABLE LOCATIONS - NATIVE COMPILERS & call :ReportHeader
e72f8dfd 96
39cbf1c2
I
97set FILENAME=gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="gcc" & call :ReportVersion
98set FILENAME=objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion
99set FILENAME=objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion
100set FILENAME=size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion
101set FILENAME=ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion
102set FILENAME=nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion
e72f8dfd
I
103
104:: -----------------------------------------------------------------------------
105
39cbf1c2 106set HEADER=EXECUTABLE LOCATIONS - PROGRAMMERS & call :ReportHeader
e72f8dfd 107
39cbf1c2
I
108set FILENAME=dfu-programmer.exe & set VERSION_CMD=--version & set VERSION_FIND="dfu" & call :ReportVersion
109set FILENAME=batchisp.exe & set VERSION_CMD=-version & set VERSION_FIND="batchisp" & call :ReportVersion
110set FILENAME=dfu-util.exe & call :Report
111set FILENAME=teensy_loader_cli.exe & call :Report
112set FILENAME=hid_bootloader_cli.exe & call :Report
113set FILENAME=avrdude.exe & call :Report
e72f8dfd
I
114
115:: -----------------------------------------------------------------------------
116
39cbf1c2
I
117set HEADER=EXECUTABLE LOCATIONS - OPTIONAL & call :ReportHeader
118set FILENAME=cppcheck.exe & call :Report
119set FILENAME=doxygen.exe & call :Report
120set FILENAME=gdb-config.exe & call :Report
121set FILENAME=wget.exe & call :Report
122set FILENAME=unzip.exe & call :Report
e72f8dfd
I
123
124:: -----------------------------------------------------------------------------
125
39cbf1c2 126set HEADER=MINGW CHECK - OPTIONAL & call :ReportHeader
e72f8dfd
I
127if 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)
128echo.>>%REPORT_NAME% 2>&1
39cbf1c2 129set FILENAME=mingw32-make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion
4f5f5f01 130if 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 134set HEADER=MAKE CHECK & call :ReportHeader
e72f8dfd
I
135if exist Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_0% & goto MakeFound)
136if exist ..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_1% & goto MakeFound)
137if exist ..\..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_2% & goto MakeFound)
138
139echo No Makfile Found.>>%REPORT_NAME% 2>&1
140echo.>>%REPORT_NAME% 2>&1
141echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1
142
39cbf1c2 143goto :ContinueAfterMake
e72f8dfd
I
144
145:MakeFound
146call :RunMake
147
148:ContinueAfterMake
39cbf1c2 149goto :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
158exit /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
176exit /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
183exit /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="."
194exit /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="."
208exit /b