This commit is contained in:
2026-06-15 11:18:14 +09:00
parent fecece3f20
commit 0d6e04cb28
4 changed files with 1048 additions and 399 deletions

View File

@@ -1,382 +1,623 @@
@echo off @echo off
setlocal EnableDelayedExpansion 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 set Filename=%~n0
:: ---------------------------------------- echo ***************************************************************************
:: 1. Argument Check and Assignment 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"=="" ( IF /i "%1"=="" (
GOTO :Help GOTO :Help
) )
:: <20>ʼ<EFBFBD> 6<><36> <20>μ<EFBFBD><CEBC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD><D2B4>մϴ<D5B4>. SET MODULE=%1
SET MODULE_NAME=%1
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 SET AUTOSAR_VERSION=%2
SET DEVICE=%3
SET MULTI_CORE=%4
SET MCAL_LOG_PRINT=%5
SET BUILD_OPTION=%6
:: <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
)
:: 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
IF "%IS_VALID_MODULE%"=="0" (
GOTO :INVALID_MODULE
) )
:: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> SET DEVICE_NAME=%3
GOTO :GENERATE_SINGLE
:GENERATE_ALL SET MODULE_USE_MULTIINSTANCE=%4
REM ---------------------------------------- IF "%~4" == "" (
REM 1. Fls Module SET MODULE_USE_MULTIINSTANCE=no
REM ---------------------------------------- )ELSE (
IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "yes" IF /I "%MODULE_USE_MULTIINSTANCE%" NEQ "no" (
GOTO :Help
)
)
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
)
)
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.
ECHO Starting generation for Fls module... ECHO Starting generation for Fls module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Fls %ARGS% CALL .\SampleApp.bat Fls %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Fls_FAIL IF NOT ERRORLEVEL 0 GOTO :Fls_FAIL
ECHO Fls generation complete. ECHO Fls generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 2. Dio Module ECHO 2. Dio Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Dio module... ECHO Starting generation for Dio module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Dio %ARGS% CALL .\SampleApp.bat Dio %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Dio_FAIL IF NOT ERRORLEVEL 0 GOTO :Dio_FAIL
ECHO Dio generation complete. ECHO Dio generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 3. Port Module ECHO 3. Port Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Port module... ECHO Starting generation for Port module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Port %ARGS% CALL .\SampleApp.bat Port %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Port_FAIL IF NOT ERRORLEVEL 0 GOTO :Port_FAIL
ECHO Port generation complete. ECHO Port generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 4. Mcu Module ECHO 4. Mcu Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Mcu module... ECHO Starting generation for Mcu module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Mcu %ARGS% CALL .\SampleApp.bat Mcu %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Mcu_FAIL IF NOT ERRORLEVEL 0 GOTO :Mcu_FAIL
ECHO Mcu generation complete. ECHO Mcu generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 5. Gpt Module ECHO 5. Gpt Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Gpt module... ECHO Starting generation for Gpt module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Gpt %ARGS% CALL .\SampleApp.bat Gpt %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Gpt_FAIL IF NOT ERRORLEVEL 0 GOTO :Gpt_FAIL
ECHO Gpt generation complete. ECHO Gpt generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 6. Wdg Module ECHO 6. Wdg Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Wdg module... ECHO Starting generation for Wdg module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Wdg %ARGS% CALL .\SampleApp.bat Wdg %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Wdg_FAIL IF NOT ERRORLEVEL 0 GOTO :Wdg_FAIL
ECHO Wdg generation complete. ECHO Wdg generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 7. Spi Module ECHO 7. Spi Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Spi module... ECHO Starting generation for Spi module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Spi %ARGS% CALL .\SampleApp.bat Spi %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Spi_FAIL IF NOT ERRORLEVEL 0 GOTO :Spi_FAIL
ECHO Spi generation complete. ECHO Spi generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 8. Can Module ECHO 8. Can Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Can module... ECHO Starting generation for Can module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Can %ARGS% CALL .\SampleApp.bat Can %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Can_FAIL IF NOT ERRORLEVEL 0 GOTO :Can_FAIL
ECHO Can generation complete. ECHO Can generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 9. Eth Module ECHO 9. Eth Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Eth module... ECHO Starting generation for Eth module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Eth %ARGS% CALL .\SampleApp.bat Eth %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Eth_FAIL IF NOT ERRORLEVEL 0 GOTO :Eth_FAIL
ECHO Eth generation complete. ECHO Eth generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 10. Cddiccom Module ECHO 10. Cddiccom Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Cddiccom module... ECHO Starting generation for Cddiccom module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Cddiccom %ARGS% CALL .\SampleApp.bat Cddiccom %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddiccom_FAIL IF NOT ERRORLEVEL 0 GOTO :Cddiccom_FAIL
ECHO Cddiccom generation complete. ECHO Cddiccom generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 11. Cddiic Module ECHO 11. Cddiic Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Cddiic module... ECHO Starting generation for Cddiic module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Cddiic %ARGS% CALL .\SampleApp.bat Cddiic %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddiic_FAIL IF NOT ERRORLEVEL 0 GOTO :Cddiic_FAIL
ECHO Cddiic generation complete. ECHO Cddiic generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 12. Cddcrc Module ECHO 12. Cddcrc Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Cddcrc module... ECHO Starting generation for Cddcrc module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Cddcrc %ARGS% CALL .\SampleApp.bat Cddcrc %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddcrc_FAIL IF NOT ERRORLEVEL 0 GOTO :Cddcrc_FAIL
ECHO Cddcrc generation complete. ECHO Cddcrc generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 13. Cddths Module ECHO 13. Cddths Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Cddths module... ECHO Starting generation for Cddths module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Cddths %ARGS% CALL .\SampleApp.bat Cddths %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddths_FAIL IF NOT ERRORLEVEL 0 GOTO :Cddths_FAIL
ECHO Cddths generation complete. ECHO Cddths generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 14. Cddemm Module ECHO 14. Cddemm Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Cddemm module... ECHO Starting generation for Cddemm module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Cddemm %ARGS% CALL .\SampleApp.bat Cddemm %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddemm_FAIL IF NOT ERRORLEVEL 0 GOTO :Cddemm_FAIL
ECHO Cddemm generation complete. ECHO Cddemm generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 15. Cddipmmu Module ECHO 15. Cddipmmu Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for Cddipmmu module... ECHO Starting generation for Cddipmmu module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat Cddipmmu %ARGS% CALL .\SampleApp.bat Cddipmmu %ARGS%
IF NOT ERRORLEVEL 0 GOTO :Cddipmmu_FAIL IF NOT ERRORLEVEL 0 GOTO :Cddipmmu_FAIL
ECHO Cddipmmu generation complete. ECHO Cddipmmu generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
REM ---------------------------------------- ECHO ===========================================================================
REM 16. cddrfso Module ECHO 16. cddrfso Module
REM ---------------------------------------- ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for cddrfso module... ECHO Starting generation for cddrfso module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
CALL .\SampleApp.bat cddrfso %ARGS% CALL .\SampleApp.bat cddrfso %ARGS%
IF NOT ERRORLEVEL 0 GOTO :cddrfso_FAIL IF NOT ERRORLEVEL 0 GOTO :cddrfso_FAIL
ECHO cddrfso generation complete. ECHO cddrfso generation complete.
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
GOTO :SUCCESS_ALL GOTO :eof
:GENERATE_SINGLE :WoodyMake
ECHO ===========================================================================
ECHO Woody Module
ECHO ===========================================================================
ECHO. ECHO.
ECHO Starting generation for %MODULE_NAME% module... ECHO Starting make for Woody module...
ECHO ------------------------------------------------------------------ ECHO ===========================================================================
:: SampleApp.bat ȣ<><C8A3> make -f woody_common.mak App_%MODULE%_%MICRO_SUB_VARIANT%_Sample.elf
CALL .\SampleApp.bat %MODULE_NAME% %ARGS% ECHO Woody make complete.
:: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 0<><30> <20>ƴϸ<C6B4> (<28><>, 1 <20>̻<EFBFBD><CCBB≯<EFBFBD>) <20><><EFBFBD>з<EFBFBD> <20>̵<EFBFBD> ECHO ===========================================================================
IF NOT ERRORLEVEL 0 GOTO :FAIL_SINGLE
ECHO %MODULE_NAME% Call SampleApp.bat Complete.
ECHO ------------------------------------------------------------------
GOTO :SUCCESS_SINGLE
:INVALID_MODULE GOTO :eof
ECHO.
ECHO ==================================================================
ECHO [ERROR] Invalid module name specified: %MODULE_NAME%
ECHO Supported modules are: %SUPPORTED_MODULES%
ECHO ==================================================================
EXIT /B 1
:Fls_FAIL :WoodySetModule
ECHO. SET MODULE=%1
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
:FAIL_SINGLE CALL :CONV_VAR_to_LOC MODULE
ECHO. SET MODULE_PCL=%MODULE:~0,1%
ECHO [FAILURE] %MODULE_NAME% module generation failed. Aborting process. CALL :CONV_VAR_to_UPC MODULE_PCL
EXIT /B 1
:FAIL_END SET CDD_MSN_NAME=%MODULE:~3,-1%%MODULE:~-1,1%
ECHO. CALL :CONV_VAR_to_LOC CDD_MSN_NAME
ECHO ================================================================== SET CDD_MSN_NAME_FC=%MODULE:~3,1%
ECHO [FAILURE] Module generation failed during sequence. Aborting process. CALL :CONV_VAR_to_UPC CDD_MSN_NAME_FC
ECHO ==================================================================
EXIT /B 1
:SUCCESS_SINGLE If not %MODULE:cdd=%==%MODULE% (
ECHO. SET MSN_PREFIX=CDD_
ECHO ================================================================== SET MSN_FIRST_CHARACTER=%CDD_MSN_NAME_FC%
ECHO [SUCCESS] %MODULE_NAME% module completed generation successfully. SET MSN_FULL_NAME=%CDD_MSN_NAME%
ECHO ================================================================== ) else (
GOTO :END SET MSN_PREFIX=
SET MSN_FIRST_CHARACTER=%MODULE_PCL%
SET MSN_FULL_NAME=%MODULE%
)
:SUCCESS_ALL SET MODULE_PCL=%MODULE_PCL%%MODULE:~1%
ECHO. SET MSN_NAME_UFC=%MSN_PREFIX%%MSN_FIRST_CHARACTER%%MSN_FULL_NAME:~1%
ECHO ================================================================== SET CONFIG_FOLDER=%ROOT_FOLDER%\%MICRO_FAMILY%\modules\%MODULE%\sample_application\%MICRO_SUB_VARIANT%\%AUTOSAR_VERSION%
ECHO [SUCCESS] All 16 modules completed generation successfully.
ECHO ================================================================== GOTO :eof
GOTO :END
:Help :Help
ECHO. echo.
ECHO ================================================================== echo ===========================================================================
ECHO [HELP] Usage: %Filename%.bat ^<MODULE/ALL^^> ^<AR_VERSION^^> ^<DEVICE^*^> ^<MULTI_CORE^> ^<LOG_PRINT^> ^<BUILD_OPTION^> echo HELP TO BUILD SAMPLE APPLICATION
ECHO. echo ===========================================================================
ECHO Note: All 6 arguments must be provided. echo Usage:
ECHO. echo.
ECHO MODULE/ALL - Module name (e.g., Fls) or "ALL" for sequential run. echo SampleApp.bat MODULE AUTOSAR_VERSION DEVICE MULTIINSTANCE MCAL_LOG_PRINT BUILD_OPTION
ECHO AR_VERSION - AUTOSAR Version (e.g., R19-11) echo.
ECHO DEVICE - Target device (e.g., V4M, V4H, V5H) echo MODULE (*) - Module Short Name to be generated e.g. Port, Can, ...
ECHO MULTI_CORE - Yes/No echo Supported module: Fls, Dio, Port, Mcu, Gpt, Wdg, Spi,
ECHO LOG_PRINT - Yes/No echo. Can, Eth, Cddiccom, Cddiic, Cddcrc, Cddths, Cddemm
ECHO BUILD_OPTION - all/clean/generate/make echo. Cddipmmu, cddrfso
ECHO. echo. Woody
ECHO [EXAMPLE] Fls R19-11 V4H No Yes generate echo.
ECHO .%Filename%.bat Fls R19-11 V4H No Yes generate echo.AUTOSAR_VERSION (*) - AUTOSAR version to be compiled which is available :
ECHO. echo. R19-11
ECHO [EXAMPLE] All R19-11 V4M No Yes make echo.
ECHO .%Filename%.bat ALL R19-11 V4M No Yes make echo DEVICE (*) - Device Name to be compiled which is available :
ECHO ================================================================== echo. V4M : V4M
EXIT /B 1 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 :SUB_VARIANT
endlocal 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

View File

@@ -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 #
##############################################################################

View File

@@ -1,140 +1 @@
################################################################################ //Temp
# 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 #
################################################################################