Fixed Batch Syntax on different versions of Windows

This commit is contained in:
IBNobody 2016-09-15 19:49:29 -05:00
parent 4f5f5f0103
commit 39cbf1c221

View File

@ -19,7 +19,7 @@ set KEYMAP_CLEAN=atomic-pvc-clean
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
if %1 == VERBOSE (goto :Verbose_Make) else (goto :Normal_Make) if /I "%1" EQU VERBOSE (goto :Verbose_Make) else (goto :Normal_Make)
:Normal_Make :Normal_Make
set MAKE_CMD_LEVEL_0=make -r -f Makefile COLOR=FALSE set MAKE_CMD_LEVEL_0=make -r -f Makefile COLOR=FALSE
@ -39,7 +39,7 @@ goto :Start_Report
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=CURRENT DIRECTORY & call :ReportHeader set HEADER=CURRENT DIRECTORY & call :ReportHeader
echo %CD%>>%REPORT_NAME% 2>&1 echo %CD%>>%REPORT_NAME% 2>&1
@ -47,7 +47,7 @@ echo.>>%REPORT_NAME% 2>&1
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=CURRENT PATHS & call :ReportHeader set HEADER=CURRENT PATHS & call :ReportHeader
for %%A in ("%path:;=";"%") do (echo %%~A>>%REPORT_NAME% 2>&1) for %%A in ("%path:;=";"%") do (echo %%~A>>%REPORT_NAME% 2>&1)
@ -55,83 +55,83 @@ echo.>>%REPORT_NAME% 2>&1
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
rem set header=CURRENT ENVIRONMENTAL SETTINGS & call :ReportHeader rem set HEADER=CURRENT ENVIRONMENTAL SETTINGS & call :ReportHeader
rem set>>%REPORT_NAME% 2>&1 rem set>>%REPORT_NAME% 2>&1
rem echo.>>%REPORT_NAME% 2>&1 rem echo.>>%REPORT_NAME% 2>&1
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=KEY EXECUTABLE LOCATIONS - GENERAL & call :ReportHeader set HEADER=KEY EXECUTABLE LOCATIONS - GENERAL & call :ReportHeader
set filename=make.exe & set version_cmd=--version & set version_find="GNU Make" & call :ReportVersion set FILENAME=make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion
set filename=git.exe & set version_cmd=--version & set version_find="git" & call :ReportVersion set FILENAME=git.exe & set VERSION_CMD=--version & set VERSION_FIND="git" & call :ReportVersion
set filename=cmp.exe & set version_cmd=--version & set version_find="cmp" & call :ReportVersion set FILENAME=cmp.exe & set VERSION_CMD=--version & set VERSION_FIND="cmp" & call :ReportVersion
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=EXECUTABLE LOCATIONS - AVR MCU COMPILERS & call :ReportHeader set HEADER=EXECUTABLE LOCATIONS - AVR MCU COMPILERS & call :ReportHeader
set filename=avr-gcc.exe & set version_cmd=--version & set version_find="avr" & call :ReportVersion set FILENAME=avr-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="avr" & call :ReportVersion
set filename=avr-objcopy.exe & set version_cmd=--version & set version_find="GNU objcopy" & call :ReportVersion set FILENAME=avr-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion
set filename=avr-objdump.exe & set version_cmd=--version & set version_find="GNU objdump" & call :ReportVersion set FILENAME=avr-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion
set filename=avr-size.exe & set version_cmd=--version & set version_find="GNU size" & call :ReportVersion set FILENAME=avr-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion
set filename=avr-ar.exe & set version_cmd=--version & set version_find="GNU ar" & call :ReportVersion set FILENAME=avr-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion
set filename=avr-nm.exe & set version_cmd=--version & set version_find="GNU nm" & call :ReportVersion set FILENAME=avr-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=EXECUTABLE LOCATIONS - ARM MCU COMPILERS & call :ReportHeader set HEADER=EXECUTABLE LOCATIONS - ARM MCU COMPILERS & call :ReportHeader
set filename=arm-none-eabi-gcc.exe & set version_cmd=--version & set version_find="arm-none-eabi-gcc" & call :ReportVersion set FILENAME=arm-none-eabi-gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="arm-none-eabi-gcc" & call :ReportVersion
set filename=arm-none-eabi-objcopy.exe & set version_cmd=--version & set version_find="GNU objcopy" & call :ReportVersion set FILENAME=arm-none-eabi-objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion
set filename=arm-none-eabi-objdump.exe & set version_cmd=--version & set version_find="GNU objdump" & call :ReportVersion set FILENAME=arm-none-eabi-objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion
set filename=arm-none-eabi-size.exe & set version_cmd=--version & set version_find="GNU size" & call :ReportVersion set FILENAME=arm-none-eabi-size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion
set filename=arm-none-eabi-ar.exe & set version_cmd=--version & set version_find="GNU ar" & call :ReportVersion set FILENAME=arm-none-eabi-ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion
set filename=arm-none-eabi-nm.exe & set version_cmd=--version & set version_find="GNU nm" & call :ReportVersion set FILENAME=arm-none-eabi-nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=EXECUTABLE LOCATIONS - NATIVE COMPILERS & call :ReportHeader set HEADER=EXECUTABLE LOCATIONS - NATIVE COMPILERS & call :ReportHeader
set filename=gcc.exe & set version_cmd=--version & set version_find="gcc" & call :ReportVersion set FILENAME=gcc.exe & set VERSION_CMD=--version & set VERSION_FIND="gcc" & call :ReportVersion
set filename=objcopy.exe & set version_cmd=--version & set version_find="GNU objcopy" & call :ReportVersion set FILENAME=objcopy.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objcopy" & call :ReportVersion
set filename=objdump.exe & set version_cmd=--version & set version_find="GNU objdump" & call :ReportVersion set FILENAME=objdump.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU objdump" & call :ReportVersion
set filename=size.exe & set version_cmd=--version & set version_find="GNU size" & call :ReportVersion set FILENAME=size.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU size" & call :ReportVersion
set filename=ar.exe & set version_cmd=--version & set version_find="GNU ar" & call :ReportVersion set FILENAME=ar.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU ar" & call :ReportVersion
set filename=nm.exe & set version_cmd=--version & set version_find="GNU nm" & call :ReportVersion set FILENAME=nm.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU nm" & call :ReportVersion
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=EXECUTABLE LOCATIONS - PROGRAMMERS & call :ReportHeader set HEADER=EXECUTABLE LOCATIONS - PROGRAMMERS & call :ReportHeader
set filename=dfu-programmer.exe & set version_cmd=--version & set version_find="dfu" & call :ReportVersion set FILENAME=dfu-programmer.exe & set VERSION_CMD=--version & set VERSION_FIND="dfu" & call :ReportVersion
set filename=batchisp.exe & set version_cmd=-version & set version_find="batchisp" & call :ReportVersion set FILENAME=batchisp.exe & set VERSION_CMD=-version & set VERSION_FIND="batchisp" & call :ReportVersion
set filename=dfu-util.exe & call :Report set FILENAME=dfu-util.exe & call :Report
set filename=teensy_loader_cli.exe & call :Report set FILENAME=teensy_loader_cli.exe & call :Report
set filename=hid_bootloader_cli.exe & call :Report set FILENAME=hid_bootloader_cli.exe & call :Report
set filename=avrdude.exe & call :Report set FILENAME=avrdude.exe & call :Report
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=EXECUTABLE LOCATIONS - OPTIONAL & call :ReportHeader set HEADER=EXECUTABLE LOCATIONS - OPTIONAL & call :ReportHeader
set filename=cppcheck.exe & call :Report set FILENAME=cppcheck.exe & call :Report
set filename=doxygen.exe & call :Report set FILENAME=doxygen.exe & call :Report
set filename=gdb-config.exe & call :Report set FILENAME=gdb-config.exe & call :Report
set filename=wget.exe & call :Report set FILENAME=wget.exe & call :Report
set filename=unzip.exe & call :Report set FILENAME=unzip.exe & call :Report
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=MINGW CHECK - OPTIONAL & call :ReportHeader set HEADER=MINGW CHECK - OPTIONAL & call :ReportHeader
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) 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)
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1
set filename=mingw32-make.exe & set version_cmd=--version & set version_find="GNU Make" & call :ReportVersion set FILENAME=mingw32-make.exe & set VERSION_CMD=--version & set VERSION_FIND="GNU Make" & call :ReportVersion
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) 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)
:: ----------------------------------------------------------------------------- :: -----------------------------------------------------------------------------
set header=MAKE CHECK & call :ReportHeader set HEADER=MAKE CHECK & call :ReportHeader
if exist Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_0% & goto MakeFound) if exist Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_0% & goto MakeFound)
if exist ..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_1% & goto MakeFound) if exist ..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_1% & goto MakeFound)
if exist ..\..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_2% & goto MakeFound) if exist ..\..\Makefile (set MAKE_CMD=%MAKE_CMD_LEVEL_2% & goto MakeFound)
@ -140,13 +140,13 @@ echo No Makfile Found.>>%REPORT_NAME% 2>&1
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1
echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1
goto ContinueAfterMake goto :ContinueAfterMake
:MakeFound :MakeFound
call :RunMake call :RunMake
:ContinueAfterMake :ContinueAfterMake
goto ExitBatch goto :ExitBatch
:ExitBatch :ExitBatch
echo Done! echo Done!
@ -163,11 +163,11 @@ exit /b
echo Makfile Found.>>%REPORT_NAME% 2>&1 echo Makfile Found.>>%REPORT_NAME% 2>&1
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1
set header=MAKE CLEAN & call :ReportHeader set HEADER=MAKE CLEAN & call :ReportHeader
echo Make Command = %MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1 echo Make Command = %MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1
%MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1 %MAKE_CMD% %KEYMAP_CLEAN%>>%REPORT_NAME% 2>&1
set header=MAKE & call :ReportHeader set HEADER=MAKE & call :ReportHeader
echo Make Command = %MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1 echo Make Command = %MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1
%MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1 %MAKE_CMD% %KEYMAP%>>%REPORT_NAME% 2>&1
@ -178,14 +178,14 @@ exit /b
:ReportHeader :ReportHeader
echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1 echo ------------------------------------------------------------------------->>%REPORT_NAME% 2>&1
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1
echo %header%>>%REPORT_NAME% 2>&1 echo %HEADER%>>%REPORT_NAME% 2>&1
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1
exit /b exit /b
:Report :Report
echo Filename = %filename% >>%REPORT_NAME% 2>&1 echo Filename = %FILENAME% >>%REPORT_NAME% 2>&1
<nul set /p output="Location = " >>%REPORT_NAME% 2>&1 <nul set /p output="Location = " >>%REPORT_NAME% 2>&1
where %filename% >>%REPORT_NAME% 2> NUL where %FILENAME% >>%REPORT_NAME% 2> NUL
if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReport) if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReport)
:EndReport :EndReport
@ -194,13 +194,13 @@ exit /b
exit /b exit /b
:ReportVersion :ReportVersion
echo Filename = %filename% >>%REPORT_NAME% 2>&1 echo Filename = %FILENAME% >>%REPORT_NAME% 2>&1
<nul set /p output="Location = " >>%REPORT_NAME% 2>&1 <nul set /p output="Location = " >>%REPORT_NAME% 2>&1
where %filename% >>%REPORT_NAME% 2> NUL where %FILENAME% >>%REPORT_NAME% 2> NUL
if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReportVersion) if ERRORLEVEL 1 (echo Not Found >>%REPORT_NAME% 2>&1 & goto :EndReportVersion)
<nul set /p output ="Version = " >>%REPORT_NAME% 2>&1 <nul set /p output ="Version = " >>%REPORT_NAME% 2>&1
(%filename% %version_cmd% | find %version_find%) >>%REPORT_NAME% 2>&1 (%FILENAME% %VERSION_CMD% | find %VERSION_FIND%) >>%REPORT_NAME% 2>&1
:EndReportVersion :EndReportVersion
echo.>>%REPORT_NAME% 2>&1 echo.>>%REPORT_NAME% 2>&1