ADM/ADM_Cruise_Control/CANTest_slrt_rtw/instrumented/CANTest.mk
JaeminSong 3854fbc169 Cruise Control Update
Cruise Control Update
2024-08-07 11:01:25 +09:00

374 lines
13 KiB
Makefile

# Copyright 1996-2017 The MathWorks, Inc.
#
# File : slrt_vc.tmf
#
#
# Abstract:
# Makefile for building a Simulink Real-Time application from a Simulink
# model using generated C code and a supported Microsoft Visual C/C++
# compiler
#
# The following defines can be used to modify the behavior of the
# build:
#
# OPT_OPTS - Optimization option. Default is -O2. To enable
# debugging specify as OPT_OPTS=-Zd.
# OPTS - User specific options.
# USER_SRCS - Additional user sources, such as files needed by
# S-functions.
# USER_INCLUDES - Additional include paths
# (i.e. USER_INCLUDES="-Iwhere-ever -Iwhere-ever2")
#------------------------ Macros read by make_rtw -----------------------------
#
# The following macros are read by the code generation build procedure:
#
# MAKECMD - This is the command used to invoke the make utility
# HOST - What platform this template makefile is targeted for
# (i.e. PC or UNIX)
# BUILD - Invoke make from the code generation build procedure
# (yes/no)?
# SYS_TARGET_FILE - Name of system target file.
HOST = PC
BUILD = yes
MAKECMD = nmake
SYS_TARGET_FILE = slrt.tlc
COMPILER_TOOL_CHAIN = vc
# Opt in to simplified format by specifying compatible Toolchain
TOOLCHAIN_NAME = [\
"Microsoft Visual C++ 2017 v15.0 | nmake (64-bit Windows)", \
"Microsoft Visual C++ 2015 v14.0 | nmake (64-bit Windows)", \
"Microsoft Visual C++ 2013 v12.0 | nmake (64-bit Windows)"]
DEBUG_BUILD = 0
#---------------------- Tokens expanded by make_rtw ---------------------------
#
# The following tokens, when wrapped with "|>" and "|<" are expanded by the
# build procedure.
#
# MODEL_NAME - Name of the Simulink block diagram
# MODEL_MODULES - Any additional generated source modules
# MAKEFILE_NAME - Name of makefile created from template makefile <model>.mk
# MATLAB_ROOT - Path to were MATLAB is installed.
# MATLAB_BIN - Path to MATLAB executable.
# S_FUNCTIONS - List of S-functions.
# S_FUNCTIONS_LIB - List of S-functions libraries to link.
# NUMST - Number of sample times
# TID01EQ - yes (1) or no (0): Are sampling rates of continuous task
# (tid=0) and 1st discrete task equal.
# NCSTATES - Number of continuous states
# BUILDARGS - Options passed in at the command line.
# MULTITASKING - yes (1) or no (0): Is solver mode multitasking
# MEX_OPT_FILE - Original file name of the mexopt.bat.
MODEL = CANTest
MODULES = rt_matrx.c rt_printf.c rt_logging.c CANTest.c CANTest_capi.c CANTest_data.c CANTest_xcp.c CANTest_xcp_TET.c can_datatype_ground.c rtGetInf.c rtGetNaN.c rt_nonfinite.c xpc_datatype_ground.c rt_logging_mmi.c rtw_modelmap_utils.c host_timer_x86.c xpc_code_profiling_utility_functions.c
MAKEFILE = CANTest.mk
MATLAB_ROOT = C:\Program Files\MATLAB\R2018a
ALT_MATLAB_ROOT = C:\PROGRA~1\MATLAB\R2018a
MATLAB_BIN = C:\Program Files\MATLAB\R2018a\bin
ALT_MATLAB_BIN = C:\PROGRA~1\MATLAB\R2018a\bin
MASTER_ANCHOR_DIR =
START_DIR = D:\Project\DelieveryMobility\WheelSpdCont\Day_20240711
S_FUNCTIONS = sg_IO613_setup_s.cpp sg_IO61X_read_s.cpp sg_IO61X_write_s.cpp
S_FUNCTIONS_LIB = C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\common\libsg\libsg_MSVC120_vc.lib C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\include\IO61X_Library_MSVC120_vc.lib
NUMST = 1
TID01EQ = 0
NCSTATES = 0
BUILDARGS = COMBINE_OUTPUT_UPDATE_FCNS=0 INCLUDE_MDL_TERMINATE_FCN=1 MULTI_INSTANCE_CODE=0 ISPROTECTINGMODEL=NOTPROTECTING
MULTITASKING = 0
MEX_OPT_FILE = -f "C:\Users\okxan\AppData\Roaming\MathWorks\MATLAB\R2018a\mex_C_win64.xml"
MODELREFS =
SHARED_SRC =
SHARED_SRC_DIR =
SHARED_BIN_DIR =
SHARED_LIB =
VISUAL_VER = 12.0
TGT_FCN_LIB = XPC_BLAS
OPTIMIZATION_FLAGS = /O2 /Oy-
ADDITIONAL_LDFLAGS =
DEFINES_CUSTOM =
#--------------------------- Model and reference models -----------------------
MODELLIB = CANTestlib.lib
MODELREF_LINK_LIBS =
MODELREF_LINK_RSPFILE = CANTest_ref.rsp
MODELREF_INC_PATH =
RELATIVE_PATH_TO_ANCHOR = ..\..
# ..\..\..\..\..\..\.. or .. or even . if you want it
MODELREF_TARGET_TYPE = NONE
!if "$(MATLAB_ROOT)" != "$(ALT_MATLAB_ROOT)"
MATLAB_ROOT = $(ALT_MATLAB_ROOT)
!endif
!if "$(MATLAB_BIN)" != "$(ALT_MATLAB_BIN)"
MATLAB_BIN = $(ALT_MATLAB_BIN)
!endif
MATLAB_ARCH_BIN = $(MATLAB_BIN)\win64
#--------------------------- Tool Specifications ------------------------------
CPU=i386
!include $(MATLAB_ROOT)\rtw\c\tools\vctools.mak
CMD_FILE = $(MODEL).rsp
#------------------------------ Include/Lib Path ------------------------------
MATLAB_INCLUDES = $(MATLAB_ROOT)\simulink\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\extern\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\src
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\libsrc
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\src\ext_mode\common
# Additional file include paths
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(START_DIR)
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(START_DIR)\CANTest_slrt_rtw
MATLAB_INCLUDES = $(MATLAB_INCLUDES);C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1
MATLAB_INCLUDES = $(MATLAB_INCLUDES);C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\common\libsg
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\toolbox\shared\can\src\scanutil
MATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks\include
XPC_BASE = $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build
XPC_INCLUDES = $(XPC_BASE)\include;$(XPC_BASE)\xpcblocks\include
XPC_INCLUDES = $(XPC_INCLUDES);$(XPC_BASE)\xpcblocks\thirdpartydrivers
XPC_INCLUDES = $(XPC_INCLUDES);$(MATLAB_ROOT)\toolbox\slrt\target\kernel\include
INCLUDE = .;..;$(XPC_INCLUDES);$(MATLAB_INCLUDES);$(INCLUDE);$(MODELREF_INC_PATH)
!if "$(SHARED_SRC_DIR)" != ""
INCLUDE = $(INCLUDE);$(SHARED_SRC_DIR)
!endif
#----------------- Compiler and Linker Options --------------------------------
# Optimization Options
DEFAULT_OPT_OPTS = /W3 /Z7
OPT_OPTS = $(DEFAULT_OPT_OPTS)
# General User Options
OPTS =
#/GD
CC_OPTS = $(OPTS) $(OPT_OPTS) /c /nologo $(OPTIMIZATION_FLAGS)
CPP_REQ_DEFINES = -DMODEL=$(MODEL) -DRT -DNUMST=$(NUMST) \
-DTID01EQ=$(TID01EQ) -DNCSTATES=$(NCSTATES) \
-DMT=$(MULTITASKING) -DHAVESTDIO -DXPCMSVISUALC \
-DXPCCALLCONV=__cdecl -DUSE_RTMODEL -DERT_CORE \
$(DEFINES_CUSTOM)
# Uncomment this line to move warning level to W4
# cflags = $(cflags:W3=W4)
CFLAGS = $(cvarsmt) /wd4996 /fp:fast /arch:SSE2 $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
CPPFLAGS = $(cflags) $(cvarsmt) /wd4996 /fp:fast /arch:SSE2 /EHsc \
$(CPP_OPTS) $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
!if "$(SLRTFTZOFF)" != ""
CFLAGS = $(cvarsmt) $(CFLAGS_VERSPECIFIC) $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
CPPFLAGS = $(cflags) $(cvarsmt) $(CPPFLAGS_VERSPECIFIC) /EHsc \
$(CPP_OPTS) $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES)
!endif
LDFLAGS = /NOLOGO /DLL /SUBSYSTEM:CONSOLE /DEF:xpcvcdll.def /Include:_malloc /MAP /DEBUG /IGNORE:4099 $(ADDITIONAL_LDFLAGS)
#----------------------------- Source Files -----------------------------------
#Standalone executable
!if "$(MODELREF_TARGET_TYPE)" == "NONE"
PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)\$(MODEL).dlm
SLRT_SRCS = xpctarget.c appmappingData.c legacy_stdio.c
REQ_SRCS = $(MODULES) $(SLRT_SRCS)
#Model Reference Target
!else
PRODUCT = $(MODELLIB)
REQ_SRCS = $(MODULES)
!endif
USER_SRCS =
SRCS = $(REQ_SRCS) $(USER_SRCS) $(S_FUNCTIONS)
OBJS_CPP_UPPER = $(SRCS:.CPP=.obj)
OBJS_CPP_LOWER = $(OBJS_CPP_UPPER:.cpp=.obj)
OBJS_C_UPPER = $(OBJS_CPP_LOWER:.C=.obj)
OBJS = $(OBJS_C_UPPER:.c=.obj)
SHARED_OBJS = $(SHARED_BIN_DIR)\*.obj
# Special handling for object files that are not in the pre-generated linker
# response file
SLRT_OBJS = $(SLRT_SRCS:.c=.obj)
# ------------------------- Libraries ------------------------------
LIBS =
LIBS = $(LIBS) xpcruntime.lib
!if "$(TGT_FCN_LIB)" == "XPC_BLAS"
BLASLIBS = $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\lib\libatlas.a $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\lib\libcblas.a
!else
BLASLIBS =
!endif
#--------------------------------- Rules --------------------------------------
!if "$(MODELREF_TARGET_TYPE)" == "NONE"
#--- Stand-alone model ---
$(RELATIVE_PATH_TO_ANCHOR)\$(MODEL).dlm : $(MODEL)_slrt.dll
$(MATLAB_ROOT)\toolbox\slrt\target\thirdparty\OnTime\bin\mkusrdlm -c+ -q+ $(MODEL)_slrt.dll $(RELATIVE_PATH_TO_ANCHOR)\$(MODEL)
@cmd /C "echo ### Created DLM $@"
@del $(MODEL)_slrt.lib
$(MODEL)_slrt.dll : set_environment_variables $(OBJS) $(SHARED_LIB) $(LIBS) $(MODELREF_LINK_LIBS)
@cmd /C "echo ### Linking ..."
$(LD) $(LDFLAGS) $(BLASLIBS) $(LIBS) $(S_FUNCTIONS_LIB) $(CANLIB) $(SHARED_LIB) $(SLRT_OBJS) @$(CMD_FILE) @$(MODELREF_LINK_RSPFILE) -out:$@
@cmd /C "echo ### Created DLL $@"
!else
#--- Model reference Target ---
$(PRODUCT) : set_environment_variables $(OBJS) $(SHARED_LIB) $(LIBS)
@cmd /C "echo ### Linking ..."
$(LD) -lib /OUT:$(MODELLIB) @$(CMD_FILE) $(S_FUNCTIONS_LIB) $(BLASLIBS)
@cmd /C "echo ### Created static library $(MODELLIB)"
!endif
{$(MATLAB_ROOT)\rtw\c\src}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
xpcruntime.lib: xpcimports.obj xpcPCFunctions.obj
$(LIBCMD) /nologo /out:$@ $**
# Additional sources
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\src}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{$(MATLAB_ROOT)\rtw\c\src}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{$(MATLAB_ROOT)\simulink\src}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{..}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{$(MATLAB_ROOT)\toolbox\coder\profile\src}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can\src}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
{C:\ProgramData\Speedgoat\speedgoatlib\R2018a\9.1.3.1\sg_blocks\can}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
{$(MATLAB_ROOT)\rtw\c\src}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
{$(MATLAB_ROOT)\simulink\src}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
{..}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
{$(MATLAB_ROOT)\toolbox\coder\profile\src}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
# Look in simulink/src helper files
{$(MATLAB_ROOT)\simulink\src}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
# Libraries:
# Put this rule last, otherwise nmake will check toolboxes first
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\src}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks\include}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
xpctarget.obj : $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\src\xpctarget.c xpcoptions.h
@cmd /C "echo ### Compiling xpctarget.c"
$(CC) $(CFLAGS) $(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\src\xpctarget.c
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{$(MATLAB_ROOT)\toolbox\rtw\targets\xpc\target\build\xpcblocks\thirdpartydrivers}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{..}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
{$(RELATIVE_PATH_TO_ANCHOR)}.c.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CFLAGS) $<
{$(RELATIVE_PATH_TO_ANCHOR)}.cpp.obj :
@cmd /C "echo ### Compiling $<"
$(CC) $(CPPFLAGS) $<
!if "$(SHARED_LIB)" != ""
$(SHARED_LIB) : $(SHARED_SRC)
@cmd /C "echo ### Creating $@"
@$(CC) $(CFLAGS) -Fo$(SHARED_BIN_DIR)\ $?
@$(LIBCMD) /nologo /out:$@ $(SHARED_OBJS)
@cmd /C "echo ### $@ Created"
!endif
set_environment_variables:
@set INCLUDE=$(INCLUDE)
@set LIB=$(LIB)
#----------------------------- Dependencies -----------------------------------
$(OBJS) : $(MAKEFILE) rtw_proj.tmw
xpcPCFunctions.obj xpcimports.obj: $(MAKEFILE) rtw_proj.tmw