update
This commit is contained in:
@@ -1,382 +1,623 @@
|
||||
@echo off
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
REM ==============================================================================
|
||||
REM This script sequentially calls SampleApp.bat to run the 'generate' step
|
||||
REM for all 16 supported modules. It takes 6 arguments from the command line
|
||||
REM (or uses defaults if no arguments are provided).
|
||||
REM ==============================================================================
|
||||
|
||||
:: <20><>ũ<EFBFBD><C5A9>Ʈ <20><><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20≯<EFBFBD><CCB8><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %~n0)
|
||||
set Filename=%~n0
|
||||
|
||||
:: ----------------------------------------
|
||||
:: 1. Argument Check and Assignment
|
||||
:: ----------------------------------------
|
||||
echo ***************************************************************************
|
||||
echo Run %Filename% ...
|
||||
echo ***************************************************************************
|
||||
echo.
|
||||
IF "%GNUMAKE%" == "" (GOTO :noGnuMake) ELSE (GOTO :GnuMake)
|
||||
|
||||
:noGnuMake
|
||||
echo If you have make.exe located in a different directory
|
||||
echo then your standard path, please add a local
|
||||
echo user variable named 'GNUMAKE' to your Windows
|
||||
echo environment variables and specified the location
|
||||
echo of make.exe by using this variable.
|
||||
echo.
|
||||
echo Your current path variable is
|
||||
echo.
|
||||
echo %path%
|
||||
echo.
|
||||
echo ***************************************************************************
|
||||
GOTO :continue
|
||||
|
||||
:GnuMake
|
||||
set path=%GNUMAKE%
|
||||
echo Found user variable GNUMAKE ...
|
||||
echo ***************************************************************************
|
||||
echo Temporary modify path variable to be sure to use correct make, shell...
|
||||
echo path = %path%
|
||||
echo ***************************************************************************
|
||||
GOTO :continue
|
||||
|
||||
:continue
|
||||
|
||||
SETLOCAL
|
||||
|
||||
:: set root folder
|
||||
SET ROOT_FOLDER=..\..\..\..\..
|
||||
|
||||
::Specify the Family and Micro Variant (not change)
|
||||
SET MICRO_FAMILY=rel
|
||||
|
||||
SET MICRO_VARIANT=V4M
|
||||
|
||||
SET MICRO_SOC=RCar
|
||||
|
||||
::CPU Option
|
||||
:: CPUn_OPTION is CPUn_USED when the CPUn used
|
||||
SET CPU0_OPTION=CPU0_USED
|
||||
SET CPU1_OPTION=CPU1_NOT_USED
|
||||
SET CPU2_OPTION=CPU2_NOT_USED
|
||||
SET CPU3_OPTION=CPU3_NOT_USED
|
||||
|
||||
IF "%COMPILER_INSTALL_DIR%"=="" (
|
||||
SET COMPILER_INSTALL_DIR=C:\Program Files\ArmCompilerforEmbeddedFuSa6.16.2\bin
|
||||
)
|
||||
|
||||
IF /i "%1"=="DisplEnv" (
|
||||
GOTO :Display_Env
|
||||
)
|
||||
|
||||
:: ù <20><>° <20>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ٷ<EFBFBD> Help ȣ<><C8A3>
|
||||
IF /i "%1"=="" (
|
||||
GOTO :Help
|
||||
)
|
||||
|
||||
:: <20>ʼ<EFBFBD> 6<><36> <20>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD><D2B4>մϴ<D5B4>.
|
||||
SET MODULE_NAME=%1
|
||||
SET AUTOSAR_VERSION=%2
|
||||
SET DEVICE=%3
|
||||
SET MULTI_CORE=%4
|
||||
SET MCAL_LOG_PRINT=%5
|
||||
SET BUILD_OPTION=%6
|
||||
SET MODULE=%1
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 5<><35><EFBFBD><EFBFBD> <20>μ<EFBFBD><CEBC><EFBFBD> ARGS <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
||||
SET ARGS=%AUTOSAR_VERSION% %DEVICE% %MULTI_CORE% %MCAL_LOG_PRINT% %BUILD_OPTION%
|
||||
|
||||
ECHO ==================================================================
|
||||
ECHO Starting Sequential Module Generation using %Filename%.bat
|
||||
ECHO Target Module: %MODULE_NAME%
|
||||
ECHO Configuration: %ARGS%
|
||||
ECHO Total Modules in list: 16
|
||||
ECHO ==================================================================
|
||||
|
||||
:: ----------------------------------------
|
||||
:: 2. Supported Module List and Validation
|
||||
:: ----------------------------------------
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (SampleApp.bat<61><74><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>)
|
||||
SET SUPPORTED_MODULES=Fls Dio Port Mcu Gpt Wdg Spi Can Eth Cddiccom Cddiic Cddcrc Cddths Cddemm Cddipmmu cddrfso Woody
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Է<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ALL<4C><4C> <20><><EFBFBD><EFBFBD> <20><>ü <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
IF /I "%MODULE_NAME%"=="ALL" (
|
||||
GOTO :GENERATE_ALL
|
||||
IF "%2" == "4.3.1" (
|
||||
SET AUTOSAR_VERSION=4_3_1
|
||||
)ELSE (
|
||||
IF "%2" == "4.2.2" (
|
||||
SET AUTOSAR_VERSION=4_2_2
|
||||
)ELSE (
|
||||
IF "%2" == "R19-11" (
|
||||
SET AUTOSAR_VERSION=19_11
|
||||
)ELSE (
|
||||
SET AUTOSAR_VERSION=%2
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
:: ALL<4C><4C> <20>ƴ<EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ȿ<EFBFBD><C8BF> <20>˻<EFBFBD>
|
||||
SET IS_VALID_MODULE=0
|
||||
FOR %%M IN (%SUPPORTED_MODULES%) DO (
|
||||
IF /I "%%M"=="%MODULE_NAME%" (
|
||||
SET IS_VALID_MODULE=1
|
||||
GOTO :CHECK_DONE
|
||||
)
|
||||
)
|
||||
:CHECK_DONE
|
||||
SET DEVICE_NAME=%3
|
||||
|
||||
IF "%IS_VALID_MODULE%"=="0" (
|
||||
GOTO :INVALID_MODULE
|
||||
SET MODULE_USE_MULTIINSTANCE=%4
|
||||
IF "%~4" == "" (
|
||||
SET MODULE_USE_MULTIINSTANCE=no
|
||||
)ELSE (
|
||||
IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "yes" IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "no" (
|
||||
GOTO :Help
|
||||
)
|
||||
)
|
||||
|
||||
:: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
GOTO :GENERATE_SINGLE
|
||||
SET MODULE_USE_LOG_PRINT=%5
|
||||
IF "%~5" == "" (
|
||||
SET MODULE_USE_LOG_PRINT=yes
|
||||
)ELSE (
|
||||
IF /I "%MODULE_USE_LOG_PRINT%" NEQ "yes" IF /I "%MODULE_USE_LOG_PRINT%" NEQ "no" (
|
||||
GOTO :Help
|
||||
)
|
||||
)
|
||||
|
||||
:GENERATE_ALL
|
||||
REM ----------------------------------------
|
||||
REM 1. Fls Module
|
||||
REM ----------------------------------------
|
||||
SET BULID_OPTION=%6
|
||||
|
||||
SET ARGS=%AUTOSAR_VERSION% %DEVICE_NAME% %MODULE_USE_MULTIINSTANCE% %MODULE_USE_LOG_PRINT% %BULID_OPTION%
|
||||
|
||||
SET COMPILER_NAME="arm6.16.2"
|
||||
|
||||
SET OBJ_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%DEVICE_NAME%\obj\arm
|
||||
|
||||
:: Check and create required folder
|
||||
if not exist "%OBJ_FOLDER%" (
|
||||
mkdir "%OBJ_FOLDER%"
|
||||
)
|
||||
|
||||
IF "%AUTOSAR_VERSION%" NEQ "4_3_1" (
|
||||
IF "%AUTOSAR_VERSION%" NEQ "4_2_2" (
|
||||
IF "%AUTOSAR_VERSION%" NEQ "19_11" (
|
||||
GOTO :Help
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
IF "%3" NEQ "V4M" (
|
||||
GOTO :Help
|
||||
)
|
||||
|
||||
::To Set the Sub Variant based on the Device.
|
||||
CALL :SUB_VARIANT
|
||||
|
||||
::To Set the Max CPU Number on the Device.
|
||||
CALL :TOTAL_CPU_NUMBER
|
||||
|
||||
:: To convert the case of MODULE_USE_MULTIINSTANCE name entered to Lowercase for Display
|
||||
CALL :CONV_VAR_to_LOC MODULE_USE_MULTIINSTANCE
|
||||
|
||||
:: To convert the case of Module name entered to Uppercase for Display
|
||||
CALL :CONV_VAR_to_LOC MODULE
|
||||
SET MODULE_PCL=%MODULE:~0,1%
|
||||
CALL :CONV_VAR_to_UPC MODULE_PCL
|
||||
|
||||
:: Pre-process for CDD and MCAL module
|
||||
SET CDD_MSN_NAME=%MODULE:~3,-1%%MODULE:~-1,1%
|
||||
CALL :CONV_VAR_to_LOC CDD_MSN_NAME
|
||||
SET CDD_MSN_NAME_FC=%MODULE:~3,1%
|
||||
CALL :CONV_VAR_to_UPC CDD_MSN_NAME_FC
|
||||
|
||||
:: Select MCAL or CDD module to make Msn naming
|
||||
If not %MODULE:cdd=%==%MODULE% (
|
||||
SET MSN_PREFIX=CDD_
|
||||
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
|
||||
SET MSN_FULL_NAME=%CDD_MSN_NAME%
|
||||
)else (
|
||||
SET MSN_PREFIX=
|
||||
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
|
||||
SET MSN_FULL_NAME=%MODULE%
|
||||
)
|
||||
|
||||
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
|
||||
|
||||
:: Assign to global variable (e.g. Can, Dio, CDD_Iccom, CDD_Iic,...)
|
||||
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
|
||||
|
||||
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
|
||||
|
||||
If not exist "%ROOT_FOLDER%" (
|
||||
echo Error! Root Folder %ROOT_FOLDER% doesn't exist.
|
||||
GOTO :End
|
||||
)
|
||||
|
||||
If not exist "%COMPILER_INSTALL_DIR%" (
|
||||
echo Error! Compiler installed directory %COMPILER_INSTALL_DIR% doesn't exist.
|
||||
GOTO :End
|
||||
)
|
||||
|
||||
If not exist "%CONFIG_FOLDER%" (
|
||||
echo Error! Folder %CONFIG_FOLDER% doesn't exist.
|
||||
GOTO :End
|
||||
)
|
||||
|
||||
IF /I "%MODULE_USE_LOG_PRINT%" EQU "yes" (
|
||||
SET USE_LOG_PRINT=yes
|
||||
)
|
||||
|
||||
IF /I "%MODULE%"=="Woody" (
|
||||
IF /I "%BULID_OPTION%"=="generate" (
|
||||
CALL :WoodyGenerateAll
|
||||
GOTO :eof
|
||||
) ELSE IF /I "%BULID_OPTION%"=="make" (
|
||||
CALL :WoodyMake
|
||||
GOTO :eof
|
||||
) ELSE IF /I "%BULID_OPTION%"=="clean" (
|
||||
CALL :WoodyCleanAll
|
||||
GOTO :eof
|
||||
)
|
||||
)
|
||||
|
||||
SET OPTION=no
|
||||
|
||||
:: To convert the case of Module name entered to Uppercase for Display
|
||||
CALL :CONV_VAR_to_UPC MODULE
|
||||
echo.
|
||||
echo ===========================================================================
|
||||
echo BUILDING SAMPLE APPLICATION: %MODULE%
|
||||
echo ===========================================================================
|
||||
:: To convert the case of Module name entered to Lowercase for file path using
|
||||
CALL :CONV_VAR_to_LOC MODULE
|
||||
|
||||
IF "%BULID_OPTION%"=="clean" (
|
||||
SET OPTION=yes
|
||||
echo ===========================================================================
|
||||
echo CLEAN ONLY
|
||||
echo ===========================================================================
|
||||
make -f common.mak clean
|
||||
make -f common.mak clean_all
|
||||
)
|
||||
|
||||
IF "%BULID_OPTION%"=="generate" (
|
||||
SET OPTION=yes
|
||||
echo ===========================================================================
|
||||
echo CLEAN AND RE-GENERATE
|
||||
echo ===========================================================================
|
||||
make -f common.mak clean
|
||||
make -f common.mak clean_all
|
||||
make -f common.mak generate_%MODULE%_config || GOTO :eof
|
||||
)
|
||||
|
||||
IF "%BULID_OPTION%"=="make" (
|
||||
SET OPTION=yes
|
||||
echo ===========================================================================
|
||||
echo MAKE ONLY
|
||||
echo ===========================================================================
|
||||
rem make -f common.mak debug_base_make
|
||||
make -f common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
|
||||
)
|
||||
|
||||
IF "%OPTION%"=="no" (
|
||||
echo ===========================================================================
|
||||
echo CLEAN AND RE-BUILD
|
||||
echo ===========================================================================
|
||||
make -f common.mak clean
|
||||
make -f common.mak clean_all
|
||||
rem make -f common.mak debug_base_make
|
||||
make -f common.mak generate_%MODULE%_config || GOTO :eof
|
||||
make -f common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
|
||||
)
|
||||
|
||||
echo.
|
||||
echo ===========================================================================
|
||||
echo BUILDING COMPLETED
|
||||
echo ===========================================================================
|
||||
GOTO :eof
|
||||
|
||||
|
||||
:CONV_VAR_to_LOC
|
||||
FOR %%z IN (a b c d e f g h i j k l m n o p q r s t u v w x y z) DO CALL set %~1=%%%~1:%%z=%%z%%
|
||||
GOTO :eof
|
||||
|
||||
:CONV_VAR_to_UPC
|
||||
FOR %%z IN (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) DO CALL set %~1=%%%~1:%%z=%%z%%
|
||||
GOTO :eof
|
||||
|
||||
:WoodyCleanAll
|
||||
ECHO ===========================================================================
|
||||
ECHO CLEANING ALL MCAL MODULES
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Cleaning all 16 MCAL modules...
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM CALL .\SampleApp.bat Fls %ARGS%
|
||||
REM CALL .\SampleApp.bat Dio %ARGS%
|
||||
REM CALL .\SampleApp.bat Port %ARGS%
|
||||
REM CALL .\SampleApp.bat Mcu %ARGS%
|
||||
REM CALL .\SampleApp.bat Gpt %ARGS%
|
||||
REM CALL .\SampleApp.bat Wdg %ARGS%
|
||||
REM CALL .\SampleApp.bat Spi %ARGS%
|
||||
REM CALL .\SampleApp.bat Can %ARGS%
|
||||
REM CALL .\SampleApp.bat Eth %ARGS%
|
||||
REM CALL .\SampleApp.bat Cddiccom %ARGS%
|
||||
REM CALL .\SampleApp.bat Cddiic %ARGS%
|
||||
REM CALL .\SampleApp.bat Cddcrc %ARGS%
|
||||
REM CALL .\SampleApp.bat Cddths %ARGS%
|
||||
REM CALL .\SampleApp.bat Cddemm %ARGS%
|
||||
REM CALL .\SampleApp.bat Cddipmmu %ARGS%
|
||||
REM CALL .\SampleApp.bat cddrfso %ARGS%
|
||||
CALL .\SampleApp.bat Woody %ARGS%
|
||||
|
||||
REM ECHO Cleaning Fls module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\fls\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Dio module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\dio\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Port module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\port\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Mcu module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\mcu\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Gpt module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\gpt\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Wdg module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\wdg\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Spi module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\spi\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Can module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\can\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Eth module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\eth\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Cddiccom module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\cddiccom\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Cddiic module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\cddiic\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Cddcrc module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\cddcrc\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Cddths module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\cddths\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Cddemm module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\cddemm\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning Cddipmmu module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\cddipmmu\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
REM ECHO Cleaning cddrfso module...
|
||||
REM cd /d %ROOT_FOLDER%\%MICRO_FAMILY%\modules\cddrfso\sample_application\%MICRO_SUB_VARIANT%\obj\arm && make -f common.mak clean && make -f common.mak clean_all
|
||||
|
||||
|
||||
ECHO ===========================================================================
|
||||
ECHO ALL MODULES CLEANED
|
||||
ECHO ===========================================================================
|
||||
|
||||
GOTO :eof
|
||||
|
||||
:WoodyGenerateAll
|
||||
ECHO ===========================================================================
|
||||
ECHO 1. Fls Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Fls module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Fls %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Fls_FAIL
|
||||
ECHO Fls generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 2. Dio Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 2. Dio Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Dio module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Dio %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Dio_FAIL
|
||||
ECHO Dio generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 3. Port Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 3. Port Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Port module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Port %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Port_FAIL
|
||||
ECHO Port generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 4. Mcu Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 4. Mcu Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Mcu module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Mcu %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Mcu_FAIL
|
||||
ECHO Mcu generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 5. Gpt Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 5. Gpt Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Gpt module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Gpt %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Gpt_FAIL
|
||||
ECHO Gpt generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 6. Wdg Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 6. Wdg Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Wdg module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Wdg %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Wdg_FAIL
|
||||
ECHO Wdg generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 7. Spi Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 7. Spi Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Spi module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Spi %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Spi_FAIL
|
||||
ECHO Spi generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 8. Can Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 8. Can Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Can module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Can %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Can_FAIL
|
||||
ECHO Can generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 9. Eth Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 9. Eth Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Eth module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Eth %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Eth_FAIL
|
||||
ECHO Eth generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 10. Cddiccom Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 10. Cddiccom Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Cddiccom module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Cddiccom %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Cddiccom_FAIL
|
||||
ECHO Cddiccom generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 11. Cddiic Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 11. Cddiic Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Cddiic module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Cddiic %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Cddiic_FAIL
|
||||
ECHO Cddiic generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 12. Cddcrc Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 12. Cddcrc Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Cddcrc module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Cddcrc %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Cddcrc_FAIL
|
||||
ECHO Cddcrc generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 13. Cddths Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 13. Cddths Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Cddths module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Cddths %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Cddths_FAIL
|
||||
ECHO Cddths generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 14. Cddemm Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 14. Cddemm Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Cddemm module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Cddemm %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Cddemm_FAIL
|
||||
ECHO Cddemm generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 15. Cddipmmu Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 15. Cddipmmu Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for Cddipmmu module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat Cddipmmu %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :Cddipmmu_FAIL
|
||||
ECHO Cddipmmu generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
REM ----------------------------------------
|
||||
REM 16. cddrfso Module
|
||||
REM ----------------------------------------
|
||||
ECHO ===========================================================================
|
||||
ECHO 16. cddrfso Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for cddrfso module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
CALL .\SampleApp.bat cddrfso %ARGS%
|
||||
IF NOT ERRORLEVEL 0 GOTO :cddrfso_FAIL
|
||||
ECHO cddrfso generation complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
ECHO ===========================================================================
|
||||
|
||||
GOTO :SUCCESS_ALL
|
||||
GOTO :eof
|
||||
|
||||
:GENERATE_SINGLE
|
||||
:WoodyMake
|
||||
ECHO ===========================================================================
|
||||
ECHO Woody Module
|
||||
ECHO ===========================================================================
|
||||
ECHO.
|
||||
ECHO Starting generation for %MODULE_NAME% module...
|
||||
ECHO ------------------------------------------------------------------
|
||||
:: SampleApp.bat ȣ<><C8A3>
|
||||
CALL .\SampleApp.bat %MODULE_NAME% %ARGS%
|
||||
:: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30> <20>ƴϸ<C6B4> (<28><>, 1 <20>̻<EFBFBD><CCBB≯<EFBFBD>) <20><><EFBFBD>з<EFBFBD> <20>̵<EFBFBD>
|
||||
IF NOT ERRORLEVEL 0 GOTO :FAIL_SINGLE
|
||||
ECHO %MODULE_NAME% Call SampleApp.bat Complete.
|
||||
ECHO ------------------------------------------------------------------
|
||||
GOTO :SUCCESS_SINGLE
|
||||
ECHO Starting make for Woody module...
|
||||
ECHO ===========================================================================
|
||||
make -f woody_common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
|
||||
ECHO Woody make complete.
|
||||
ECHO ===========================================================================
|
||||
|
||||
:INVALID_MODULE
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [ERROR] Invalid module name specified: %MODULE_NAME%
|
||||
ECHO Supported modules are: %SUPPORTED_MODULES%
|
||||
ECHO ==================================================================
|
||||
EXIT /B 1
|
||||
GOTO :eof
|
||||
|
||||
:Fls_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Fls module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Dio_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Dio module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Port_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Port module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Mcu_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Mcu module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Gpt_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Gpt module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Wdg_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Wdg module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Spi_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Spi module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Can_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Can module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Eth_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Eth module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddiccom_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddiccom module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddiic_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddiic module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddcrc_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddcrc module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddths_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddths module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddemm_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddemm module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:Cddipmmu_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] Cddipmmu module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:cddrfso_FAIL
|
||||
ECHO.
|
||||
ECHO [FAILURE] cddrfso module generation failed. Aborting process.
|
||||
GOTO :FAIL_END
|
||||
:WoodySetModule
|
||||
SET MODULE=%1
|
||||
|
||||
:FAIL_SINGLE
|
||||
ECHO.
|
||||
ECHO [FAILURE] %MODULE_NAME% module generation failed. Aborting process.
|
||||
EXIT /B 1
|
||||
CALL :CONV_VAR_to_LOC MODULE
|
||||
SET MODULE_PCL=%MODULE:~0,1%
|
||||
CALL :CONV_VAR_to_UPC MODULE_PCL
|
||||
|
||||
:FAIL_END
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [FAILURE] Module generation failed during sequence. Aborting process.
|
||||
ECHO ==================================================================
|
||||
EXIT /B 1
|
||||
SET CDD_MSN_NAME=%MODULE:~3,-1%%MODULE:~-1,1%
|
||||
CALL :CONV_VAR_to_LOC CDD_MSN_NAME
|
||||
SET CDD_MSN_NAME_FC=%MODULE:~3,1%
|
||||
CALL :CONV_VAR_to_UPC CDD_MSN_NAME_FC
|
||||
|
||||
:SUCCESS_SINGLE
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [SUCCESS] %MODULE_NAME% module completed generation successfully.
|
||||
ECHO ==================================================================
|
||||
GOTO :END
|
||||
If not %MODULE:cdd=%==%MODULE% (
|
||||
SET MSN_PREFIX=CDD_
|
||||
SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
|
||||
SET MSN_FULL_NAME=%CDD_MSN_NAME%
|
||||
) else (
|
||||
SET MSN_PREFIX=
|
||||
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
|
||||
SET MSN_FULL_NAME=%MODULE%
|
||||
)
|
||||
|
||||
:SUCCESS_ALL
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [SUCCESS] All 16 modules completed generation successfully.
|
||||
ECHO ==================================================================
|
||||
GOTO :END
|
||||
SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
|
||||
SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
|
||||
SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
|
||||
|
||||
GOTO :eof
|
||||
|
||||
:Help
|
||||
ECHO.
|
||||
ECHO ==================================================================
|
||||
ECHO [HELP] Usage: %Filename%.bat ^<MODULE/ALL^^> ^<AR_VERSION^^> ^<DEVICE^*^> ^<MULTI_CORE^> ^<LOG_PRINT^> ^<BUILD_OPTION^>
|
||||
ECHO.
|
||||
ECHO Note: All 6 arguments must be provided.
|
||||
ECHO.
|
||||
ECHO MODULE/ALL - Module name (e.g., Fls) or "ALL" for sequential run.
|
||||
ECHO AR_VERSION - AUTOSAR Version (e.g., R19-11)
|
||||
ECHO DEVICE - Target device (e.g., V4M, V4H, V5H)
|
||||
ECHO MULTI_CORE - Yes/No
|
||||
ECHO LOG_PRINT - Yes/No
|
||||
ECHO BUILD_OPTION - all/clean/generate/make
|
||||
ECHO.
|
||||
ECHO [EXAMPLE] Fls R19-11 V4H No Yes generate
|
||||
ECHO .%Filename%.bat Fls R19-11 V4H No Yes generate
|
||||
ECHO.
|
||||
ECHO [EXAMPLE] All R19-11 V4M No Yes make
|
||||
ECHO .%Filename%.bat ALL R19-11 V4M No Yes make
|
||||
ECHO ==================================================================
|
||||
EXIT /B 1
|
||||
echo.
|
||||
echo ===========================================================================
|
||||
echo HELP TO BUILD SAMPLE APPLICATION
|
||||
echo ===========================================================================
|
||||
echo Usage:
|
||||
echo.
|
||||
echo SampleApp.bat MODULE AUTOSAR_VERSION DEVICE MULTIINSTANCE MCAL_LOG_PRINT BUILD_OPTION
|
||||
echo.
|
||||
echo MODULE (*) - Module Short Name to be generated e.g. Port, Can, ...
|
||||
echo Supported module: Fls, Dio, Port, Mcu, Gpt, Wdg, Spi,
|
||||
echo. Can, Eth, Cddiccom, Cddiic, Cddcrc, Cddths, Cddemm
|
||||
echo. Cddipmmu, cddrfso
|
||||
echo. Woody
|
||||
echo.
|
||||
echo.AUTOSAR_VERSION (*) - AUTOSAR version to be compiled which is available :
|
||||
echo. R19-11
|
||||
echo.
|
||||
echo DEVICE (*) - Device Name to be compiled which is available :
|
||||
echo. V4M : V4M
|
||||
echo.
|
||||
echo MULTIINSTANCE - Yes : Build sample application with multi instances (applicable for: none)
|
||||
echo No or unset(null) : Build sample application with single instance (applicable for: all supported modules)
|
||||
echo.
|
||||
echo MCAL_LOG_PRINT - Yes or unset(null) : Output MCAL driver's log to console when using Console_Print() function in Sample Application
|
||||
echo No : Do not output MCAL driver's log to console when using Console_Print() function in Sample Application
|
||||
echo.
|
||||
echo BUILD_OPTION - unset(null) : Build with all processes.
|
||||
echo clean : Only delete object files.
|
||||
echo generate : Only generation tool done.
|
||||
echo make : Only compile and link (use already generated files)
|
||||
echo.
|
||||
echo DisplEnv - Display Useful Variable for debug
|
||||
echo.
|
||||
echo Note: (*) is mandantory input argument
|
||||
echo ===========================================================================
|
||||
goto :END
|
||||
|
||||
:END
|
||||
endlocal
|
||||
:SUB_VARIANT
|
||||
FOR %%A IN (V4M) Do IF "%DEVICE_NAME%" == "%%A" SET MICRO_SUB_VARIANT=V4M
|
||||
|
||||
:TOTAL_CPU_NUMBER
|
||||
FOR %%A IN (V4M) Do IF "%DEVICE_NAME%" == "%%A" SET TOTAL_CPU=1
|
||||
|
||||
GOTO :eof
|
||||
|
||||
:Display_Env
|
||||
echo Display Env Variables
|
||||
echo =================================
|
||||
echo DEVICE_NAME=%DEVICE_NAME%
|
||||
echo AUTOSAR_VERSION=%AUTOSAR_VERSION%
|
||||
echo MODULE_NAME=%MODULE%
|
||||
echo =================================
|
||||
|
||||
|
||||
:End
|
||||
|
||||
ENDLOCAL
|
||||
|
||||
@echo on
|
||||
|
||||
@@ -0,0 +1,547 @@
|
||||
################################################################################
|
||||
# Common part of the Makefile to compile and build the sample application #
|
||||
# Software Component (For Test purposes only) #
|
||||
# Compatible with GNU Make 3.81 for Win32. #
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Subroutine to convert Module Name To All Upper Case for Naming convention.
|
||||
uc = $(subst a,A,$(subst b,B,$(subst c,C,$(subst d,D,$(subst e,E,$(subst f,F,$(subst g,G,$(subst h,H,$(subst i,I,$(subst j,J,$(subst k,K,$(subst l,L,$(subst m,M,$(subst n,N,$(subst o,O,$(subst p,P,$(subst q,Q,$(subst r,R,$(subst s,S,$(subst t,T,$(subst u,U,$(subst v,V,$(subst w,W,$(subst x,X,$(subst y,Y,$(subst z,Z,$1))))))))))))))))))))))))))
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Subroutine to convert Module Name To Lower Case
|
||||
#
|
||||
lc = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1))))))))))))))))))))))))))
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Macro for Module names as per Naming Convention
|
||||
#
|
||||
|
||||
MODULE_NAME = $(call lc,$(MODULE))
|
||||
MSN_MODULE_NAME = $(call uc,$(MODULE))
|
||||
|
||||
ifeq (,$(findstring "cdd",$(MODULE_NAME)))
|
||||
replace = $(subst cdd,CDD_,$1)
|
||||
CDD_MODULE_NAME = $(call replace,$(MODULE_NAME))
|
||||
MSN_NAME = $(call uc,$(CDD_MODULE_NAME))
|
||||
else
|
||||
MSN_NAME = $(MSN_MODULE_NAME)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Get name of the current application
|
||||
#
|
||||
CURRENT_APPL = App_$(MSN_NAME)
|
||||
CURRENT_APPL2 = App_$(MSN_MODULE_NAME)
|
||||
|
||||
# Get the project directory into variable "PROJECT_ROOT"
|
||||
PROJECT_ROOT := $(subst /,\,$(abspath ../../../../..))
|
||||
|
||||
# Get the current working directory into variable "SPECIFIC_APPL_ROOT_PATH"
|
||||
SPECIFIC_APPL_ROOT_PATH := $(subst /,\,$(abspath .))
|
||||
|
||||
## Set the Cpu Core Based on Variant (g4mh, cr52):
|
||||
CPU_CORE = cr52
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Macros for common path
|
||||
#
|
||||
ifeq (,$(filter $(MSN_MODULE_NAME),CAN ETH))
|
||||
EXE = $(CURRENT_APPL2)_$(MICRO_SUB_VARIANT)_Sample.$(EXE_FILE_SUFFIX)
|
||||
else
|
||||
EXE = $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample.$(EXE_FILE_SUFFIX)
|
||||
endif
|
||||
|
||||
# Get the common sample application directory into variable "COMMON_SAMPLE_CORE_PATH"
|
||||
COMMON_SAMPLE_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application
|
||||
|
||||
# Get the current working directory into variable "SAMPLE_CORE_PATH"
|
||||
SAMPLE_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application\$(MICRO_SUB_VARIANT)
|
||||
|
||||
# Get the current working directory into variable "STUBS"
|
||||
STUBS_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic\stubs\$(AUTOSAR_VERSION)
|
||||
|
||||
# Get current configuration path
|
||||
MODULE_CONFIG_PATH = $(SAMPLE_CORE_PATH)\$(AUTOSAR_VERSION)
|
||||
|
||||
################################################################################
|
||||
# Macros for build
|
||||
#
|
||||
LIBRARIES_TO_BUILD =
|
||||
INSTANCE_OBJECTS =
|
||||
|
||||
#OBJECTS_LINK_ONLY =
|
||||
OBJECT_OUTPUT_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application\$(MICRO_SUB_VARIANT)\obj\arm
|
||||
|
||||
GENERATED_SOURCE_FILES =
|
||||
|
||||
CC_FILES_TO_BUILD =
|
||||
CPP_FILES_TO_BUILD =
|
||||
ASM_FILES_TO_BUILD =
|
||||
|
||||
CC_SRC_PATH =
|
||||
|
||||
CC_INCLUDE_PATH =
|
||||
CPP_INCLUDE_PATH =
|
||||
ASM_INCLUDE_PATH =
|
||||
|
||||
PREPROCESSOR_DEFINES =
|
||||
|
||||
LIBRARIES_LINK_ONLY =
|
||||
DIRECTORIES_TO_CREATE =
|
||||
DEPEND_GCC_OPTS =
|
||||
|
||||
MAKE_CLEAN_RULES =
|
||||
MAKE_GENERATE_RULES =
|
||||
MAKE_COMPILE_RULES =
|
||||
MAKE_DEBUG_RULES =
|
||||
MAKE_CONFIG_RULES =
|
||||
MAKE_ADD_RULES =
|
||||
|
||||
MAKE_DEBUG_RULES += debug_base_make
|
||||
|
||||
COMMON_INFO=COMPILER_LINKER_ASSEMBLER_INCLUDES
|
||||
|
||||
.PHONY: $(MAKE_CLEAN_RULES) $(MAKE_GENERATE_RULES) $(MAKE_COMPILE_RULES) \
|
||||
$(MAKE_DEBUG_RULES) $(MAKE_CONFIG_RULES) $(MAKE_ADD_RULES) \
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# ARM Compiler for CR
|
||||
#
|
||||
COMPILER_CORE_PATH_COMMON = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic\compiler
|
||||
|
||||
include $(COMPILER_CORE_PATH_COMMON)\$(AUTOSAR_VERSION)\arm\make\compiler_rcar_r$(AUTOSAR_VERSION)_defs.mak
|
||||
include $(COMPILER_CORE_PATH_COMMON)\common\arm\make\arm_rcar_rules.mak
|
||||
|
||||
COMPILER_CORE_PATH_DEVICE = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\compiler
|
||||
COMPILER_CORE_FILES += \
|
||||
$(COMPILER_CORE_PATH_DEVICE)\common\include \
|
||||
$(COMPILER_CORE_PATH_DEVICE)\common\include\cfg \
|
||||
$(COMPILER_CORE_PATH_DEVICE)\$(AUTOSAR_VERSION)\include \
|
||||
$(COMPILER_CORE_PATH_COMMON)\common\arm\include \
|
||||
$(COMPILER_CORE_PATH_COMMON)\common\arm\include\cfg \
|
||||
$(COMPILER_CORE_PATH_COMMON)\$(AUTOSAR_VERSION)\arm\include \
|
||||
|
||||
|
||||
################################################################################
|
||||
# Path to Linker definition files for Sample Application
|
||||
LNKFILE = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\Global_Sample_Application\make\arm\App_Sample.scat
|
||||
LNKFILE_DB = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\Global_Sample_Application\make\arm\App_Sample_db.scat
|
||||
|
||||
###############################################################################
|
||||
# Define ISR identifier of each module in vector table
|
||||
#
|
||||
CFLAGS += -D$(MSN_MODULE_NAME)_MODULE_SAMPLE
|
||||
|
||||
###############################################################################
|
||||
# Define MCAL driver log print function using
|
||||
#
|
||||
ifeq ($(USE_LOG_PRINT),yes)
|
||||
CFLAGS += -DMCAL_LOG_PRINT
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Specify base address specified for Motorola S-record file.
|
||||
SFLAGS += --base=0xE2100000
|
||||
|
||||
###############################################################################
|
||||
# Define device identifier
|
||||
#
|
||||
CFLAGS += -DE2x=0
|
||||
CFLAGS += -DU2x=1
|
||||
CFLAGS += -DU2Bx=2
|
||||
CFLAGS += -DS4=3
|
||||
CFLAGS += -DV4H=4
|
||||
CFLAGS += -DX5H=5
|
||||
CFLAGS += -DV4M=6
|
||||
CFLAGS += -DDEVICE=V4M
|
||||
|
||||
ifeq ($(MSN_MODULE_NAME),ETH)
|
||||
CFLAGS += -DETH_AVB_IF
|
||||
endif
|
||||
ifeq ($(MSN_MODULE_NAME),SPI)
|
||||
CFLAGS += -DSPI_MSIOF
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Modules to be included in the project #
|
||||
################################################################################
|
||||
# Get BSWMDT path
|
||||
MODULE_BSWMDT_CONFIG_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\generator\$(MICRO_SUB_VARIANT)
|
||||
|
||||
# Include make file for module
|
||||
include $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)\sample_application\make\arm\$(CURRENT_APPL)_Common_Sample.mak
|
||||
|
||||
###############################################################################
|
||||
|
||||
################################################################################
|
||||
# Macros for gentool
|
||||
#
|
||||
#Common Generator
|
||||
COMMON_TOOL_FILE = $(SPECIFIC_APPL_ROOT_PATH)\..\..\..\..\common\generic\generator\MCALConfGen.exe
|
||||
|
||||
# Get TRXML path
|
||||
TRXML_CONFIG_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\generator\arm
|
||||
# Path to TRXML Configuration File which is required for Test Application
|
||||
TRXML_CONFIG_FILE = $(TRXML_CONFIG_PATH)\Sample_Application_$(MICRO_VARIANT).trxml
|
||||
|
||||
# Path to BSWMDT Configuration File which is required for Module Sample Application
|
||||
MODULE_BSWMDT_CONFIG_FILE = $(MODULE_BSWMDT_CONFIG_PATH)\R1911_$(MSN_NAME)_$(MICRO_SUB_VARIANT)_BSWMDT.arxml
|
||||
|
||||
# Get current configuration file
|
||||
MODULE_CONFIG_FILE = $(MODULE_CONFIG_PATH)\config\App_$(MSN_NAME)_$(MICRO_SUB_VARIANT)_Sample.arxml
|
||||
|
||||
# MCU arxml file path
|
||||
MCU_CONFIG_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\config\$(MICRO_SUB_VARIANT)\$(AUTOSAR_VERSION)
|
||||
MCU_CONFIG_FILE = $(MCU_CONFIG_PATH)\MCU_$(MSN_NAME)_$(DEVICE_NAME).arxml
|
||||
|
||||
# Path to ECUM Configuration File which is required for this module
|
||||
ECUM_CONFIG_PATH = $(STUBS_PATH)\EcuM
|
||||
ECUM_CONFIG_FILE = $(ECUM_CONFIG_PATH)\xml\EcuM_$(MSN_NAME_UFC).arxml
|
||||
|
||||
# Path to OS Configuration File which is required for this module
|
||||
OS_CONFIG_FILE = $(STUBS_PATH)\Os\xml\Os_$(MSN_NAME_UFC).arxml
|
||||
|
||||
# Path to DEM Configuration File which is required for Module Sample Application
|
||||
DEM_CONFIG_FILE = $(STUBS_PATH)\Dem\xml\Dem_$(MSN_NAME_UFC).arxml
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# AUTOSAR TYPES Path
|
||||
#
|
||||
AUTOSARTYPE_PATH = $(PROJECT_ROOT)\common\make
|
||||
include $(AUTOSARTYPE_PATH)\$(AUTOSAR_VERSION)\autosartypes_r$(AUTOSAR_VERSION)_defs.mak
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# PLATFORM TYPES Path
|
||||
#
|
||||
PLATFORM_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic\make
|
||||
include $(PLATFORM_PATH)\common\platformtypes_common_defs.mak
|
||||
include $(PLATFORM_PATH)\$(AUTOSAR_VERSION)\platformtypes_r$(AUTOSAR_VERSION)_defs.mak
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# STARTUP $(MICRO_SUB_VARIANT) CORE PATH
|
||||
#
|
||||
STARTUP_CORE_PATH_COMMON = $(PROJECT_ROOT)\$(MICRO_FAMILY)\common\generic
|
||||
STARTUP_CORE_PATH_SPECIFIC = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family
|
||||
include $(STARTUP_CORE_PATH_SPECIFIC)\make\arm\startup_arm_$(MICRO_VARIANT)_defs.mak
|
||||
include $(STARTUP_CORE_PATH_SPECIFIC)\make\arm\startup_arm_$(MICRO_VARIANT)_rules.mak
|
||||
|
||||
################################################################################
|
||||
# Path to Linker Directives Files
|
||||
#
|
||||
LNKFILE = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\make\arm\App_Sample.scat
|
||||
LNKFILE_DB = $(PROJECT_ROOT)\$(MICRO_FAMILY)\$(MICRO_VARIANT)\common_family\make\arm\App_Sample_db.scat
|
||||
|
||||
################################################################################
|
||||
# Include generated source files list to the global "C" file list #
|
||||
################################################################################
|
||||
CC_FILES_TO_BUILD += $(GENERATED_SOURCE_FILES)
|
||||
|
||||
################################################################################
|
||||
# Include sample app source files list to the global "C" file list #
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# REGISTRY common sample app
|
||||
#
|
||||
CC_INCLUDE_PATH += $(COMMON_SAMPLE_CORE_PATH)\include
|
||||
CC_SRC_PATH += $(COMMON_SAMPLE_CORE_PATH)\src
|
||||
CPP_INCLUDE_PATH += $(COMMON_SAMPLE_CORE_PATH)\include
|
||||
ASM_INCLUDE_PATH +=
|
||||
PREPROCESSOR_DEFINES +=
|
||||
|
||||
###############################################################################
|
||||
# REGISTRY device sample app
|
||||
#
|
||||
CC_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include
|
||||
CC_SRC_PATH += $(SAMPLE_CORE_PATH)\src
|
||||
CPP_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include
|
||||
CC_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include\arm
|
||||
CC_SRC_PATH += $(SAMPLE_CORE_PATH)\src\arm
|
||||
CPP_INCLUDE_PATH += $(SAMPLE_CORE_PATH)\include\arm
|
||||
|
||||
ASM_INCLUDE_PATH +=
|
||||
PREPROCESSOR_DEFINES +=
|
||||
|
||||
################################################################################
|
||||
# Common SINGLE CORE SAMPLE
|
||||
#
|
||||
ifneq ($(MODULE_USE_MULTIINSTANCE),yes)
|
||||
ifeq (,$(filter $(MSN_MODULE_NAME),DIO MCU PORT))
|
||||
CC_FILES_TO_BUILD += \
|
||||
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Common_Sample.c
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Common MULTI CORE SAMPLE
|
||||
#
|
||||
else
|
||||
CC_FILES_TO_BUILD += \
|
||||
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Multi_Sample.c
|
||||
|
||||
ifeq ($(MODULE_USE_INSTANCE0),yes)
|
||||
CC_FILES_TO_BUILD += \
|
||||
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Common_Sample_0.c
|
||||
endif
|
||||
|
||||
ifeq ($(MODULE_USE_INSTANCE1),yes)
|
||||
CC_FILES_TO_BUILD += \
|
||||
$(COMMON_SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_Common_Sample_1.c
|
||||
endif
|
||||
|
||||
# end of ($(MODULE_USE_MULTIINSTANCE),yes)
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
# Device SINGLE SAMPLE APP
|
||||
#
|
||||
ifeq (,$(filter $(MSN_MODULE_NAME),CAN ETH CDDICCOM GPT DIO PORT MCU CDDIIC CDDTHS CDDIPMMU CDDCRC CDDEMM CDDRFSO))
|
||||
CC_FILES_TO_BUILD += \
|
||||
$(SAMPLE_CORE_PATH)\src\$(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample.c
|
||||
else
|
||||
CC_FILES_TO_BUILD += \
|
||||
$(SAMPLE_CORE_PATH)\src\arm\$(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample.c
|
||||
endif
|
||||
|
||||
###############################################################################
|
||||
|
||||
CPP_FILES_TO_BUILD +=
|
||||
ASM_FILES_TO_BUILD +=
|
||||
|
||||
LIBRARIES_LINK_ONLY +=
|
||||
|
||||
OBJECTS_LINK_ONLY +=
|
||||
|
||||
GENERATED_SOURCE_FILES +=
|
||||
|
||||
MAKE_CLEAN_RULES +=
|
||||
MAKE_GENERATE_RULES +=
|
||||
MAKE_DEBUG_RULES += debug_common_appl_makefile
|
||||
MAKE_CONFIG_RULES +=
|
||||
|
||||
###############################################################################
|
||||
# Command to print debug information
|
||||
debug_common_appl_makefile:
|
||||
@echo COMMON_SAMPLE_CORE_PATH = $(COMMON_SAMPLE_CORE_PATH)
|
||||
|
||||
################################################################################
|
||||
# End of Include sample app source files list to the global "C" file list #
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Search path for source and header files (For Make utility) #
|
||||
################################################################################
|
||||
VPATH=$(CC_SRC_PATH) $(CC_INCLUDE_PATH) $(OBJECT_OUTPUT_PATH)
|
||||
|
||||
################################################################################
|
||||
# Create list of object files from source files #
|
||||
################################################################################
|
||||
OBJECT_FILES_BUILT := $(subst \,/, $(CC_FILES_TO_BUILD))
|
||||
OBJECT_FILES_BUILT := $(subst :,/, $(OBJECT_FILES_BUILT))
|
||||
OBJECT_FILES_BUILT := $(notdir $(OBJECT_FILES_BUILT))
|
||||
OBJECT_FILES_BUILT := $(subst .$(C_FILE_SUFFIX),.$(OBJ_FILE_SUFFIX), $(OBJECT_FILES_BUILT))
|
||||
OBJECT_FILES_BUILT += $(INSTANCE_OBJECTS)
|
||||
OBJECT_PATH_FILES_BUILT := \
|
||||
$(addprefix $(OBJECT_OUTPUT_PATH)\, $(OBJECT_FILES_BUILT))
|
||||
|
||||
################################################################################
|
||||
# Create list of object files from assembly files #
|
||||
################################################################################
|
||||
ASM_OBJECT_FILES_BUILT := $(subst \,/, $(ASM_FILES_TO_BUILD))
|
||||
ASM_OBJECT_FILES_BUILT := $(subst :,/, $(ASM_OBJECT_FILES_BUILT))
|
||||
ASM_OBJECT_FILES_BUILT := $(notdir $(ASM_OBJECT_FILES_BUILT))
|
||||
ASM_OBJECT_FILES_BUILT := \
|
||||
$(subst .$(ASM_FILE_SUFFIX),.$(ASM_OBJ_FILE_SUFFIX), $(ASM_OBJECT_FILES_BUILT))
|
||||
ASM_OBJECT_PATH_FILES_BUILT := $(ASM_OBJECT_FILES_BUILT)
|
||||
|
||||
ASM_OBJECT_PATH_FILES_BUILT := \
|
||||
$(addprefix $(OBJECT_OUTPUT_PATH)\, $(ASM_OBJECT_FILES_BUILT))
|
||||
|
||||
OBJECT_PATH_FILES_BUILT += $(ASM_OBJECT_PATH_FILES_BUILT)
|
||||
|
||||
################################################################################
|
||||
# Include auto-generated dependencies #
|
||||
################################################################################
|
||||
ifeq ($(findstring clean,$(MAKECMDGOALS)),)
|
||||
OBJECT_DEPS := $(OBJECT_PATH_FILES_BUILT)
|
||||
OBJECT_DEPS := $(OBJECT_DEPS:.$(OBJ_FILE_SUFFIX)=.d)
|
||||
OBJECT_DEPS := $(OBJECT_DEPS:.$(ASM_OBJ_FILE_SUFFIX)=.d)
|
||||
-include $(OBJECT_DEPS)
|
||||
endif
|
||||
|
||||
################################################################################
|
||||
# Remove the path from Source file names #
|
||||
################################################################################
|
||||
CC_FILES_BUILT := $(subst \,/, $(CC_FILES_TO_BUILD))
|
||||
CC_FILES_BUILT := $(subst :,/, $(CC_FILES_BUILT))
|
||||
CC_FILES_BUILT := $(notdir $(CC_FILES_BUILT))
|
||||
|
||||
################################################################################
|
||||
# Remove the path from Source file names #
|
||||
################################################################################
|
||||
ASM_FILES_BUILT := $(subst \,/, $(ASM_FILES_TO_BUILD))
|
||||
ASM_FILES_BUILT := $(subst :,/, $(ASM_FILES_BUILT))
|
||||
ASM_FILES_BUILT := $(notdir $(ASM_FILES_BUILT))
|
||||
|
||||
################################################################################
|
||||
# Prefix -I to all include paths (required for compiler) #
|
||||
################################################################################
|
||||
COMPILER_INCLUDE := $(patsubst %,-I%,$(CC_INCLUDE_PATH))
|
||||
ASSEMBLER_INCLUDE := $(patsubst %,-I%,$(ASM_INCLUDE_PATH))
|
||||
|
||||
################################################################################
|
||||
# Command to link all the generated object files and generate exe/S-Record #
|
||||
################################################################################
|
||||
$(EXE):$(COMMON_INFO) $(ASM_OBJECT_FILES_BUILT) $(LNKFILE)
|
||||
@echo [ASSEMBLY]... Done
|
||||
@echo --------------------------------------------------------------------
|
||||
@echo [COMPILER] $(CC)
|
||||
@echo [FLAGS] $(CFLAGS)
|
||||
@echo [COMPILING]...
|
||||
@echo $(CC_FILES_TO_BUILD)
|
||||
@echo $(subst \,/, $(CC_FILES_TO_BUILD)) > list_file_to_build
|
||||
@$(CC) $(CFLAGS) $(COMPILER_INCLUDE) @list_file_to_build
|
||||
@cmd /C move *.o $(OBJECT_OUTPUT_PATH) \>list_log
|
||||
@cmd /C move *.d $(OBJECT_OUTPUT_PATH) \>list_log
|
||||
@cmd /C del /q list_*
|
||||
@echo [COMPILATION]... Done
|
||||
@echo --------------------------------------------------------------------
|
||||
@echo [LINKER] $(LINKER)
|
||||
@echo [FLAGS] $(LFLAGS)
|
||||
@echo --scatter=$(LNKFILE)
|
||||
@echo --list="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL)_Sample.$(LST_FILE_SUFFIX)"
|
||||
@echo -o "$(OBJECT_OUTPUT_PATH)\$(EXE)"
|
||||
@echo [LINKING]...
|
||||
@echo $(OBJECT_PATH_FILES_BUILT)
|
||||
@$(LINKER) --scatter=$(LNKFILE) $(LFLAGS) $(OBJECT_PATH_FILES_BUILT) \
|
||||
$(OBJECTS_LINK_ONLY) $(STD_LIBRARY) \
|
||||
--list="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL)_Sample.$(LST_FILE_SUFFIX)" \
|
||||
-o "$(OBJECT_OUTPUT_PATH)\$(EXE)"
|
||||
@echo [LINK]... Done
|
||||
@echo --------------------------------------------------------------------
|
||||
@echo [S-REC GENERATOR] $(CONVERTER)
|
||||
@echo [FLAGS] $(SFLAGS) --output="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL_SRECORD).$(S_RECORD_SUFFIX)"
|
||||
@echo "$(OBJECT_OUTPUT_PATH)\$(EXE)"
|
||||
@echo [GENERATING S-RECORD]...
|
||||
@$(CONVERTER) $(SFLAGS) \
|
||||
--output="$(OBJECT_OUTPUT_PATH)\$(CURRENT_APPL_SRECORD).$(S_RECORD_SUFFIX)" \
|
||||
"$(OBJECT_OUTPUT_PATH)\$(EXE)"
|
||||
@echo [GENERATION]... Done
|
||||
|
||||
################################################################################
|
||||
# Command to generate object files from all dependent source files #
|
||||
################################################################################
|
||||
%.$(OBJ_FILE_SUFFIX) : %.$(C_FILE_SUFFIX)
|
||||
@echo --------------------------------------------------------------------
|
||||
@echo Compiling $< ...
|
||||
@echo Generating $(OBJECT_OUTPUT_PATH)\$@ ...
|
||||
$(CC) $(CFLAGS) $(COMPILER_INCLUDE) $< -o $(OBJECT_OUTPUT_PATH)\$@
|
||||
@echo Done ...
|
||||
|
||||
################################################################################
|
||||
# List General Info at the beginning of compilation process #
|
||||
################################################################################
|
||||
COMPILER_LINKER_ASSEMBLER_INCLUDES:
|
||||
@echo --------------------------------------------------------------------
|
||||
@echo [INCLUDES]
|
||||
@echo $(COMPILER_INCLUDE)
|
||||
@echo --------------------------------------------------------------------
|
||||
@echo [AAA] $(LNKFILE)
|
||||
@echo [FLAGS] $(AFLAGS)
|
||||
@echo [ASSEMBLING]...
|
||||
|
||||
################################################################################
|
||||
# Command to generate object files from specific assembly files #
|
||||
################################################################################
|
||||
%.$(ASM_OBJ_FILE_SUFFIX) : %.$(ASM_FILE_SUFFIX)
|
||||
@echo $<
|
||||
@$(ASM) $(AFLAGS) $(COMPILER_INCLUDE) $< -o $(OBJECT_OUTPUT_PATH)\$@
|
||||
|
||||
################################################################################
|
||||
# Command to clean the generated files #
|
||||
################################################################################
|
||||
clean: $(MAKE_CLEAN_RULES)
|
||||
|
||||
################################################################################
|
||||
# Command to generate the configuration files #
|
||||
################################################################################
|
||||
config: $(MAKE_CONFIG_RULES)
|
||||
|
||||
################################################################################
|
||||
# Command to clean the generated object files #
|
||||
################################################################################
|
||||
clean_objs:
|
||||
@if exist $(OBJECT_OUTPUT_PATH)\*.$(OBJ_FILE_SUFFIX) del /Q $(OBJECT_OUTPUT_PATH)\*.$(OBJ_FILE_SUFFIX)
|
||||
|
||||
################################################################################
|
||||
# Command to clean all the files in the output folder #
|
||||
################################################################################
|
||||
clean_all:
|
||||
@if exist $(OBJECT_OUTPUT_PATH)\*.* del /Q $(OBJECT_OUTPUT_PATH)\*.*
|
||||
|
||||
################################################################################
|
||||
# Command to print debug information #
|
||||
################################################################################
|
||||
debug_base_make:
|
||||
@echo PROJECT_ROOT = $(PROJECT_ROOT)
|
||||
@echo SPECIFIC_APPL_ROOT_PATH = $(SPECIFIC_APPL_ROOT_PATH)
|
||||
@echo OBJECT_OUTPUT_PATH = $(OBJECT_OUTPUT_PATH)
|
||||
@echo STARTUP_CORE_PATH = $(STARTUP_CORE_PATH)
|
||||
@echo ARM_CORE_PATH = $(ARM_CORE_PATH)
|
||||
@echo $(MSN_MODULE_NAME)_CORE_PATH = $($(MSN_MODULE_NAME)_CORE_PATH)
|
||||
@echo AUTOSARTYPE_CORE_PATH = $(AUTOSARTYPE_CORE_PATH)
|
||||
@echo CC_INCLUDE_PATH = $(CC_INCLUDE_PATH)
|
||||
@echo CC_FILES_TO_BUILD = $(CC_FILES_TO_BUILD)
|
||||
@echo COMMON_SAMPLE_CORE_PATH = $(COMMON_SAMPLE_CORE_PATH)
|
||||
@echo $(MSN_MODULE_NAME)_CONFIG_PATH = $($(MSN_MODULE_NAME)_CONFIG_PATH)
|
||||
@echo $(MSN_MODULE_NAME)_CONFIG_FILE = $($(MSN_MODULE_NAME)_CONFIG_FILE)
|
||||
@echo STUBS_PATH = $(STUBS_PATH)
|
||||
@echo TRXML_CONFIG_PATH = $(TRXML_CONFIG_PATH)
|
||||
@echo TRXML_CONFIG_FILE = $(TRXML_CONFIG_FILE)
|
||||
@echo $(MSN_MODULE_NAME)_BSWMDT_CONFIG_PATH = $($(MSN_MODULE_NAME)_BSWMDT_CONFIG_PATH)
|
||||
@echo $(MSN_MODULE_NAME)_BSWMDT_CONFIG_FILE = $($(MSN_MODULE_NAME)_BSWMDT_CONFIG_FILE)
|
||||
@echo LNKFILE = $(LNKFILE)
|
||||
@echo $(MSN_MODULE_NAME)_DB = $($(MSN_MODULE_NAME)_DB)
|
||||
@echo LIBRARIES_TO_BUILD = $(LIBRARIES_TO_BUILD)
|
||||
@echo OBJECTS_LINK_ONLY = $(OBJECTS_LINK_ONLY)
|
||||
@echo GENERATED_SOURCE_FILES = $(GENERATED_SOURCE_FILES)
|
||||
@echo CPP_FILES_TO_BUILD = $(CPP_FILES_TO_BUILD)
|
||||
@echo ASM_FILES_TO_BUILD = $(ASM_FILES_TO_BUILD)
|
||||
@echo OBJECT_PATH_FILES_BUILT = $(OBJECT_PATH_FILES_BUILT)
|
||||
@echo CPP_INCLUDE_PATH = $(CPP_INCLUDE_PATH)
|
||||
@echo ASM_INCLUDE_PATH = $(ASM_INCLUDE_PATH)
|
||||
@echo PREPROCESSOR_DEFINES = $(PREPROCESSOR_DEFINES)
|
||||
@echo LIBRARIES_LINK_ONLY = $(LIBRARIES_LINK_ONLY)
|
||||
@echo DIRECTORIES_TO_CREATE = $(DIRECTORIES_TO_CREATE)
|
||||
@echo DEPEND_GCC_OPTS = $(DEPEND_GCC_OPTS)
|
||||
@echo MAKE_CLEAN_RULES = $(MAKE_CLEAN_RULES)
|
||||
@echo MAKE_GENERATE_RULES = $(MAKE_GENERATE_RULES)
|
||||
@echo MAKE_COMPILE_RULES = $(MAKE_COMPILE_RULES)
|
||||
@echo MAKE_DEBUG_RULES = $(MAKE_DEBUG_RULES)
|
||||
@echo MAKE_CONFIG_RULES = $(MAKE_CONFIG_RULES)
|
||||
@echo MAKE_ADD_RULES = $(MAKE_ADD_RULES)
|
||||
@echo CC_FILES_BUILT = $(CC_FILES_BUILT)
|
||||
@echo OBJECT_FILES_BUILT = $(OBJECT_FILES_BUILT)
|
||||
@echo ASM_OBJECT_FILES_BUILT = $(ASM_OBJECT_FILES_BUILT)
|
||||
@echo VPATH = $(VPATH)
|
||||
@echo EXE = $(EXE)
|
||||
@echo COMPILER_INCLUDE = $(COMPILER_INCLUDE)
|
||||
|
||||
##############################################################################
|
||||
# End of the Base Make script #
|
||||
##############################################################################
|
||||
@@ -1,140 +1 @@
|
||||
################################################################################
|
||||
# Makefile to compile and build the Sample Application with the AUTOSAR CAN #
|
||||
# Driver Component (For Test purposes only) #
|
||||
# Compatible with GNU Make 3.81 for Win32. #
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Definitions of global environment variables #
|
||||
################################################################################
|
||||
|
||||
###############################################################################
|
||||
# MULTI CORE SAMPLE
|
||||
#
|
||||
MODULE_USE_MULTIINSTANCE = no
|
||||
MODULE_USE_INSTANCE0 = no
|
||||
MODULE_USE_INSTANCE1 = no
|
||||
|
||||
# FLAGS OF MULTI INSTANCE
|
||||
ifeq ($(MODULE_USE_MULTIINSTANCE),yes)
|
||||
CFLAGS += -D$(MSN_MODULE_NAME)_USE_MULTIINSTANCE
|
||||
ifeq ($(MODULE_USE_INSTANCE0),yes)
|
||||
CFLAGS += -D$(MSN_MODULE_NAME)_USE_INSTANCE0
|
||||
endif
|
||||
ifeq ($(MODULE_USE_INSTANCE1),yes)
|
||||
CFLAGS += -D$(MSN_MODULE_NAME)_USE_INSTANCE1
|
||||
CC_FILES_TO_BUILD += $(STARTUP_$(MICRO_SUB_VARIANT)_CORE_PATH)\src\arm\Interrupt_VectorTable.c
|
||||
CPP_FILES_TO_BUILD += $(STARTUP_$(MICRO_SUB_VARIANT)_CORE_PATH)\src\arm\Interrupt_VectorTable.c
|
||||
endif
|
||||
endif
|
||||
|
||||
# Database to be linked together with the current application
|
||||
# Define 'no' to isolate database from the application
|
||||
MODULE_DBASE_REQ = yes
|
||||
|
||||
# Get the name of the SRECORD file
|
||||
CURRENT_APPL_SRECORD = $(CURRENT_APPL)_$(MICRO_SUB_VARIANT)_Sample
|
||||
|
||||
# Name of the database if generated separately
|
||||
MODULE_DB = $(MODULE_NAME)_PBcfg
|
||||
|
||||
# Map common variables to module variables
|
||||
CAN_MODULE_NAME = $(MODULE_NAME)
|
||||
CAN_MODULE_CORE_PATH = $(MODULE_CORE_PATH)
|
||||
CAN_MODULE_CONFIG_PATH = $(MODULE_CONFIG_PATH)
|
||||
CAN_MODULE_CONFIG_FILE = $(MODULE_CONFIG_FILE)
|
||||
CAN_MODULE_DBASE_REQ = $(MODULE_DBASE_REQ)
|
||||
CAN_MODULE_BSWMDT_CONFIG_FILE = $(MODULE_BSWMDT_CONFIG_FILE)
|
||||
CAN_DEM_CONFIG_FILE = $(DEM_CONFIG_FILE)
|
||||
CAN_ECUM_CONFIG_FILE = $(ECUM_CONFIG_FILE)
|
||||
CAN_OS_CONFIG_FILE = $(OS_CONFIG_FILE)
|
||||
|
||||
################################################################################
|
||||
# Modules to be included in the project #
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# DET Module Core Path
|
||||
#
|
||||
DET_CORE_PATH = $(STUBS_PATH)\Det
|
||||
include $(DET_CORE_PATH)\make\det_defs.mak
|
||||
include $(DET_CORE_PATH)\make\det_rules.mak
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# OS Module Core Path
|
||||
#
|
||||
OS_CORE_PATH = $(STUBS_PATH)\Os
|
||||
include $(OS_CORE_PATH)\make\os_defs.mak
|
||||
include $(OS_CORE_PATH)\make\os_rules.mak
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# DEM Module Core Path
|
||||
#
|
||||
DEM_CORE_PATH = $(STUBS_PATH)\Dem
|
||||
include $(DEM_CORE_PATH)\make\dem_defs.mak
|
||||
include $(DEM_CORE_PATH)\make\dem_rules.mak
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Scheduler Manager Module Core Path
|
||||
#
|
||||
RTE_CORE_PATH = $(STUBS_PATH)\Rte
|
||||
include $(RTE_CORE_PATH)\make\rte_defs.mak
|
||||
include $(RTE_CORE_PATH)\make\rte_rules.mak
|
||||
|
||||
################################################################################
|
||||
# ECUM Module Core Path
|
||||
#
|
||||
ECUM_CORE_PATH = $(STUBS_PATH)\EcuM
|
||||
include $(ECUM_CORE_PATH)\make\ecum_defs.mak
|
||||
include $(ECUM_CORE_PATH)\make\ecum_rules.mak
|
||||
|
||||
################################################################################
|
||||
|
||||
################################################################################
|
||||
# Driver Component
|
||||
#
|
||||
MODULE_CORE_PATH = $(PROJECT_ROOT)\$(MICRO_FAMILY)\modules\$(MODULE_NAME)
|
||||
include $(MODULE_CORE_PATH)\make\renesas_$(MODULE_NAME)_defs.mak
|
||||
include $(MODULE_CORE_PATH)\make\renesas_$(MODULE_NAME)_check.mak
|
||||
include $(MODULE_CORE_PATH)\make\renesas_$(MODULE_NAME)_rules.mak
|
||||
|
||||
################################################################################
|
||||
# Can_General Module Core Path
|
||||
#
|
||||
CANGENERAL_CORE_PATH = $(STUBS_PATH)\CanGeneral
|
||||
include $(CANGENERAL_CORE_PATH)\make\cangeneral_defs.mak
|
||||
include $(CANGENERAL_CORE_PATH)\make\cangeneral_rules.mak
|
||||
|
||||
################################################################################
|
||||
# CanIf Module Core Path
|
||||
#
|
||||
CANIF_CORE_PATH = $(STUBS_PATH)\CanIf
|
||||
include $(CANIF_CORE_PATH)\make\canif_defs.mak
|
||||
include $(CANIF_CORE_PATH)\make\canif_rules.mak
|
||||
|
||||
################################################################################
|
||||
# Command to generate standalone database #
|
||||
################################################################################
|
||||
$(MODULE_DB).$(S_RECORD_SUFFIX):$(MODULE_DB).$(OBJ_FILE_SUFFIX) $(LNKFILE_DB)
|
||||
@echo *********************************************************************
|
||||
@echo Building the standalone database ...
|
||||
$(DBLINKER) $(LNKFILE_DB) $(LNKFILE_COMMON) \
|
||||
"$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(OBJ_FILE_SUFFIX)" \
|
||||
-map="$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(MAP_FILE_SUFFIX)" \
|
||||
-o "$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(EXE_FILE_SUFFIX)"
|
||||
@echo Generating Motorola S-Record file...
|
||||
$(CONVERTER) $(SFLAGS) "$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(EXE_FILE_SUFFIX)" \
|
||||
-o "$(OBJECT_OUTPUT_PATH)\$(MODULE_DB).$(S_RECORD_SUFFIX)"
|
||||
@echo Done ...
|
||||
|
||||
################################################################################
|
||||
# End of the Base Make script #
|
||||
################################################################################
|
||||
//Temp
|
||||
|
||||
Reference in New Issue
Block a user