1 @setlocal ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
4 set REPORT_NAME=Win_Check_Output.txt
6 :: -----------------------------------------------------------------------------
10 echo QMK Windows Check Output %BAT_VERSION%
11 echo QMK Windows Check Output %BAT_VERSION%.>%REPORT_NAME%
13 :: -----------------------------------------------------------------------------
15 set MINGW_BASE_DIR=C:\MinGW
18 set KEYMAP_CLEAN=atomic-pvc-clean
20 :: -----------------------------------------------------------------------------
22 if %1 == VERBOSE (goto :Verbose_Make) else (goto :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
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
40 :: -----------------------------------------------------------------------------
42 set header=CURRENT DIRECTORY & call :ReportHeader
44 echo %CD%>>%REPORT_NAME% 2>&1
46 echo.>>%REPORT_NAME% 2>&1
48 :: -----------------------------------------------------------------------------
50 set header=CURRENT PATHS & call :ReportHeader
52 for %%A in ("%path:;=";"%") do (echo %%~A>>%REPORT_NAME% 2>&1)
54 echo.>>%REPORT_NAME% 2>&1
56 :: -----------------------------------------------------------------------------
58 rem set header=CURRENT ENVIRONMENTAL SETTINGS & call :ReportHeader
60 rem set>>%REPORT_NAME% 2>&1
61 rem echo.>>%REPORT_NAME% 2>&1
63 :: -----------------------------------------------------------------------------
65 set header=KEY EXECUTABLE LOCATIONS - GENERAL & call :ReportHeader
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
71 :: -----------------------------------------------------------------------------
73 set header=EXECUTABLE LOCATIONS - AVR MCU COMPILERS & call :ReportHeader
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
82 :: -----------------------------------------------------------------------------
84 set header=EXECUTABLE LOCATIONS - ARM MCU COMPILERS & call :ReportHeader
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
93 :: -----------------------------------------------------------------------------
95 set header=EXECUTABLE LOCATIONS - NATIVE COMPILERS & call :ReportHeader
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
104 :: -----------------------------------------------------------------------------
106 set header=EXECUTABLE LOCATIONS - PROGRAMMERS & call :ReportHeader
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
115 :: -----------------------------------------------------------------------------
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
124 :: -----------------------------------------------------------------------------
126 set header=MINGW CHECK - OPTIONAL & call :ReportHeader
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
129 set filename=mingw32-make.exe & set version_cmd=--version & set version_find="GNU Make" & call :ReportVersion
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)
132 :: -----------------------------------------------------------------------------
134 set header=MAKE CHECK & call :ReportHeader
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)
139 echo No Makfile Found.>>%REPORT_NAME% 2>&1
140 echo.>>%REPORT_NAME% 2>&1
141 echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1
143 goto ContinueAfterMake
154 rem type %REPORT_NAME%
156 echo See %REPORT_NAME% for the report.
160 :: -----------------------------------------------------------------------------
164 echo Makfile Found.>>%REPORT_NAME% 2>&1
165 echo.>>%REPORT_NAME% 2>&1
166 set header=MAKE CLEAN & call :ReportHeader
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
170 set header=MAKE & call :ReportHeader
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
179 echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1
180 echo.>>%REPORT_NAME% 2>&1
181 echo %header%>>%REPORT_NAME% 2>&1
182 echo.>>%REPORT_NAME% 2>&1
186 echo Filename = %filename% >>%REPORT_NAME% 2>&1
187 <nul set /p output="Location = " >>%REPORT_NAME% 2>&1
188 where %filename% >>%REPORT_NAME% 2> NUL
189 if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReport)
192 echo.>>%REPORT_NAME% 2>&1
193 <nul set /p output="."
197 echo Filename = %filename% >>%REPORT_NAME% 2>&1
198 <nul set /p output="Location = " >>%REPORT_NAME% 2>&1
199 where %filename% >>%REPORT_NAME% 2> NUL
200 if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReportVersion)
201 <nul set /p output ="Version = " >>%REPORT_NAME% 2>&1
203 (%filename% %version_cmd% | find %version_find%) >>%REPORT_NAME% 2>&1
206 echo.>>%REPORT_NAME% 2>&1
207 <nul set /p output="."