чуть доработано: - добавлен перенос шаблонов в проект - убрана линковка с библиотекой для изменения маски из конфига - исправлено изменение названия бинарника S-Function - исправлено некорректная запись из буфера в входы/выходы и обратно
116 lines
3.1 KiB
Batchfile
116 lines
3.1 KiB
Batchfile
@echo off
|
||
:: Получаем аргументы из командной строки
|
||
:: %1 - includes_USER
|
||
:: %2 - code_USER
|
||
:: %3 - режим (например, debug)
|
||
|
||
:: Аргументы:
|
||
:: %1 — includes строка (в кавычках)
|
||
:: %2 — sources строка
|
||
:: %3 — defines строка
|
||
:: %4 — режим компиляции (debug/release)
|
||
|
||
:: Сохраняем как переменные
|
||
set filename=%~1
|
||
set includes_USER=%~2
|
||
set code_USER=%~3
|
||
set defines_USER=%~4
|
||
set defines_CONFIG=%~5
|
||
set compil_mode=%~6
|
||
|
||
:: Заменяем __EQ__ на =
|
||
set defines_USER=%defines_USER:__EQ__==%
|
||
set defines_CONFIG=%defines_CONFIG:__EQ__==%
|
||
|
||
|
||
set defines_WRAPPER=-D"MATLAB"^ -D"__sizeof_ptr=8"
|
||
:: -------------------------USERS PATHS AND CODE---------------------------
|
||
::-------------------------------------------------------------------------
|
||
|
||
|
||
:: -------------------------WRAPPER PATHS AND CODE---------------------------
|
||
:: оболочка, которая будет моделировать работу МК в симулинке
|
||
set includes_WRAPPER=-I"."^
|
||
-I".\MCU_Wrapper"^
|
||
-I".\app_wrapper"
|
||
|
||
set code_WRAPPER= .\MCU_Wrapper\MCU.c^
|
||
.\MCU_Wrapper\mcu_wrapper.c^
|
||
.\app_wrapper\app_init.c^
|
||
.\app_wrapper\app_io.c^
|
||
.\app_wrapper\app_wrapper.c
|
||
|
||
:: PERIPH BAT START
|
||
|
||
:: PERIPH BAT END
|
||
::-------------------------------------------------------------------------
|
||
|
||
|
||
:: ---------------------SET PARAMS FOR MEX COMPILING-----------------------
|
||
:: -------------ALL------------
|
||
set includes= %includes_WRAPPER% %includes_PERIPH% %includes_USER%
|
||
set codes= %code_WRAPPER% %code_PERIPH% %code_USER%
|
||
set defines= %defines_WRAPPER% %defines_CONFIG% %defines_USER%
|
||
:: -------OUTPUT FOLDER--------
|
||
set output= -outdir "." -output %filename%
|
||
|
||
:: если нужен дебаг, до запускаем run_mex с припиской debug
|
||
IF %compil_mode%==debug (set debug= -g)
|
||
::-------------------------------------------------------------------------
|
||
|
||
|
||
::------START COMPILING-------
|
||
if "%7"=="echo_enable" (
|
||
echo Compiling...
|
||
|
||
echo ===========================
|
||
echo =========INCLUDES==========
|
||
echo USER:
|
||
for %%f in (%includes_USER%) do (
|
||
echo %%f
|
||
)
|
||
echo INTERNAL:
|
||
for %%f in (%includes_WRAPPER%) do (
|
||
echo %%f
|
||
)
|
||
echo PERIPH:
|
||
for %%f in (%includes_PERIPH%) do (
|
||
echo %%f
|
||
)
|
||
|
||
echo ===========================
|
||
echo ==========SOURCES==========
|
||
echo USER:
|
||
for %%f in (%code_USER%) do (
|
||
echo %%f
|
||
)
|
||
echo INTERNAL:
|
||
for %%f in (%code_WRAPPER%) do (
|
||
echo %%f
|
||
)
|
||
echo PERIPH:
|
||
for %%f in (%code_PERIPH%) do (
|
||
echo %%f
|
||
)
|
||
|
||
echo ===========================
|
||
echo ==========DEFINES==========
|
||
echo USER:
|
||
for %%d in (%defines_USER%) do (
|
||
echo %%d
|
||
)
|
||
echo CONFIG:
|
||
for %%f in (%defines_CONFIG%) do (
|
||
echo %%f
|
||
)
|
||
echo INTERNAL:
|
||
for %%f in (%defines_WRAPPER%) do (
|
||
echo %%f
|
||
)
|
||
)
|
||
echo ===========================
|
||
echo MODE: %compil_mode%
|
||
echo ===========================
|
||
mex %output% %defines% %includes% %codes% %debug%
|
||
echo %DATE% %TIME%
|
||
exit /b %ERRORLEVEL% |