blob: 780ec21f568006872e571e290c240d210ded5227 [file] [log] [blame]
@echo off
cls
SET PACKAGENAME=the FreeRTOS port for fedC and wizC
echo.
echo Hello, I'm the installationscript for %PACKAGENAME%.
echo.
:CHECKFEDC
set FED=C:\Program Files\FED\PIC_C
echo.
echo I'm checking your system for fedC
if not exist "%FED%" goto NOFEDC
echo YES, I found a fedC-installation!
goto FOUNDFED
:NOFEDC
echo I could not find a fedC-installation.
:CHECKWIZC
set FED=C:\Program Files\FED\PIXIE
echo.
echo I'm checking your system for wizC
if not exist "%FED%" goto NOWIZC
echo YES, I found a wizC-installation!
goto FOUNDFED
:noWIZC
echo I could not find a wizC-installation.
:ERROR
echo.
echo.
echo I could not find a FED C-compiler installation on your system.
echo.
echo Perhaps I got confused because you installed fedC or wizC in a non-default directory.
echo If this is the case, please change the path at the top of this install-script.
echo After that rerun the script and I will be happy to try again.
echo.
goto ENDIT
:FOUNDFED
echo.
echo.
set FEDLIBS=%FED%\Libs
set FEDLIBSUSER=%FEDLIBS%\LibsUser
if exist "%FEDLIBS%" goto INSTALL
echo The FED installationdirectory "%FED%"
echo contains no Libs subdirectory. This is weird!
echo.
echo Installation is aborted, sorry...
goto ENDIT
:INSTALL
echo I am about to install %PACKAGENAME%
echo into directory %FEDLIBSUSER%
echo.
echo Press 'enter' to let me do my thing
echo Press 'ctrl-c' to stop me
pause >nul
echo.
echo Installing...
:RESET_READONLY
echo.
echo Removing ReadOnly attributes
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Croutine.c" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Port.c" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\List.c" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Queue.c" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Modules\Tasks.c" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\Tick.c" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\isrTick.c" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Portmacro.h" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Croutine.h" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\List.h" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Portable.h" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Projdefs.h" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Queue.h" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Semphr.h" >nul
attrib -R "%FEDLIBSUSER%\libFreeRTOS\Include\Task.h" >nul
attrib -R "%FEDLIBSUSER%\FreeRTOS.h" >nul
echo Done
:CREATE_DIRECTORIES
echo.
echo Creating directories (if necessary)...
if not exist "%FEDLIBSUSER%" mkdir "%FEDLIBSUSER%"
if not exist "%FEDLIBSUSER%\libFreeRTOS" mkdir "%FEDLIBSUSER%\libFreeRTOS"
if not exist "%FEDLIBSUSER%\libFreeRTOS\Drivers" mkdir "%FEDLIBSUSER%\libFreeRTOS\Drivers"
if not exist "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick" mkdir "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick"
if not exist "%FEDLIBSUSER%\libFreeRTOS\Include" mkdir "%FEDLIBSUSER%\libFreeRTOS\Include"
if not exist "%FEDLIBSUSER%\libFreeRTOS\Modules" mkdir "%FEDLIBSUSER%\libFreeRTOS\Modules"
echo Done
echo.
echo Copying Files...
:COPY_MODULES
echo Modules...
copy /V /Y "Port.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Port.c" >nul
copy /V /Y "..\..\..\Croutine.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Croutine.c" >nul
copy /V /Y "..\..\..\List.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\List.c" >nul
copy /V /Y "..\..\..\Queue.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Queue.c" >nul
copy /V /Y "..\..\..\Tasks.c" "%FEDLIBSUSER%\libFreeRTOS\Modules\Tasks.c" >nul
:COPY_DRIVERS
echo Drivers...
copy /V /Y "Drivers\Tick\Tick.c" "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\Tick.c" >nul
copy /V /Y "Drivers\Tick\isrTick.c" "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\isrTick.c" >nul
:COPY_HEADERS
echo Headers...
copy /V /Y "portmacro.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Portmacro.h" >nul
copy /V /Y "..\..\..\include\Croutine.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Croutine.h" >nul
copy /V /Y "..\..\..\include\List.h" "%FEDLIBSUSER%\libFreeRTOS\Include\List.h" >nul
copy /V /Y "..\..\..\include\Portable.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Portable.h" >nul
copy /V /Y "..\..\..\include\Projdefs.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Projdefs.h" >nul
copy /V /Y "..\..\..\include\Queue.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Queue.h" >nul
copy /V /Y "..\..\..\include\Semphr.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Semphr.h" >nul
copy /V /Y "..\..\..\include\Task.h" "%FEDLIBSUSER%\libFreeRTOS\Include\Task.h" >nul
copy /V /Y "addFreeRTOS.h" + "..\..\..\include\FreeRTOS.h" "%FEDLIBSUSER%\FreeRTOS.h" >nul
echo Done
:SET_READONLY
echo.
echo Setting files to ReadOnly
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Port.c" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Croutine.c" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\List.c" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Queue.c" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Modules\Tasks.c" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\Tick.c" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Drivers\Tick\isrTick.c" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Portmacro.h" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Croutine.h" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\List.h" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Portable.h" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Projdefs.h" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Queue.h" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Semphr.h" >nul
attrib +R "%FEDLIBSUSER%\libFreeRTOS\Include\Task.h" >nul
attrib +R "%FEDLIBSUSER%\FreeRTOS.h" >nul
echo Done
:FINISHED
echo.
echo The installation of %PACKAGENAME% is completed.
echo.
echo Please review the installation instructions as additional libraries
echo and fedC/wizC configuration settings may be needed for FreeRTOS
echo to function correctly.
goto ENDIT
:ENDIT
echo.
echo.
echo Press 'enter' to close this window
pause >nul