📄 pointinganglecalc2_rtw.mk
字号:
# Copyright 1994-2007 The MathWorks, Inc.## File : grt_vc.tmf $Revision: 1.1.10.4 $## Abstract:# Real-Time Workshop template makefile for building a Windows-based# stand-alone generic real-time version of M-code using# generated C code and the# Microsoft Visual C/C++ compiler versions: 6.0, 7.1## Note that this template is automatically customized by the Real-Time# Workshop build procedure to create "<model>.mk"## The following defines can be used to modify the behavior of the# build:## OPT_OPTS - Optimization option. See DEFAULT_OPT_OPTS in# vctools.mak for default.# OPTS - User specific options.# CPP_OPTS - C++ compiler options.# USER_SRCS - Additional user sources.# USER_INCLUDES - Additional include paths# (i.e. USER_INCLUDES="-Iwhere-ever -Iwhere-ever2")## To enable debugging:# set OPT_OPTS=-Zi (may vary with compiler version, see compiler doc) # modify tmf LDFLAGS to include /DEBUG##------------------------ Macros read by make_rtw -----------------------------## The following macros are read by the Real-Time Workshop 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 Real-Time Workshop build procedure# (yes/no)?# SYS_TARGET_FILE - Name of system target file.MAKECMD = nmakeHOST = PCBUILD = yesSYS_TARGET_FILE = grt.tlcBUILD_SUCCESS = ^#^#^# CreatedCOMPILER_TOOL_CHAIN = vc#---------------------- Tokens expanded by make_rtw ---------------------------## The following tokens, when wrapped with "|>" and "<|" are expanded by the# Real-Time Workshop 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.# SOLVER - Solver source file name# 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# EXT_MODE - yes (1) or no (0): Build for external mode# TMW_EXTMODE_TESTING - yes (1) or no (0): Build ext_test.c for external mode# testing.# EXTMODE_TRANSPORT - Index of transport mechanism (e.g. tcpip, serial) for extmode# EXTMODE_STATIC - yes (1) or no (0): Use static instead of dynamic mem alloc.# EXTMODE_STATIC_SIZE - Size of static memory allocation buffer.# MEX_OPT_FILE - mex option file name# VISUAL_VER - Visual C++ version informationMODEL = PointingAngleCalc2_CMODULES = PointingAngleCalc2.c rt_atan2.c rt_nonfinite.c MAKEFILE = PointingAngleCalc2_rtw.mkMATLAB_ROOT = C:\MATLAB\R2008aALT_MATLAB_ROOT = C:\MATLAB\R2008aMATLAB_BIN = C:\MATLAB\R2008a\binALT_MATLAB_BIN = C:\MATLAB\R2008a\binS_FUNCTIONS = S_FUNCTIONS_LIB = SOLVER = NUMST = 1TID01EQ = 0NCSTATES = 0BUILDARGS = GENERATE_REPORT=1 ADD_MDL_NAME_TO_GLOBALS=0MULTITASKING = 0EXT_MODE = 0TMW_EXTMODE_TESTING = 0EXTMODE_TRANSPORT = 0EXTMODE_STATIC = 0EXTMODE_STATIC_SIZE = 1000000MODELREFS = SHARED_SRC = SHARED_SRC_DIR = SHARED_BIN_DIR = SHARED_LIB = TARGET_LANG_EXT = cMEX_OPT_FILE = -f VISUAL_VER = 8.0OPTIMIZATION_FLAGS = /Od /Oy-#--------------------------- Model and reference models -----------------------MODELLIB = PointingAngleCalc2_C.libMODELREF_LINK_LIBS = MODELREF_LINK_RSPFILE = PointingAngleCalc2_ref.rspMODELREF_INC_PATH = RELATIVE_PATH_TO_ANCHOR = C:\WINNT\Profiles\magostin\MYDOCU~1\MATLAB\Demos\c_cpp\EmbeddedMODELREF_TARGET_TYPE = RTW!if "$(MATLAB_ROOT)" != "$(ALT_MATLAB_ROOT)"MATLAB_ROOT = $(ALT_MATLAB_ROOT)!endif!if "$(MATLAB_BIN)" != "$(ALT_MATLAB_BIN)"MATLAB_BIN = $(ALT_MATLAB_BIN)!endif#--------------------------- Tool Specifications ------------------------------!include $(MATLAB_ROOT)\rtw\c\tools\vctools.makPERL = $(MATLAB_ROOT)\sys\perl\win32\bin\perl#------------------------------ Include/Lib Path ------------------------------MATLAB_INCLUDES = $(MATLAB_ROOT)\simulink\includeMATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\extern\includeMATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\srcMATLAB_INCLUDES = $(MATLAB_INCLUDES);$(MATLAB_ROOT)\rtw\c\src\ext_mode\common# Additional file include pathsINCLUDE = .;$(RELATIVE_PATH_TO_ANCHOR);$(MATLAB_INCLUDES);$(INCLUDE);$(MODELREF_INC_PATH)!if "$(SHARED_SRC_DIR)" != ""INCLUDE = $(INCLUDE);$(SHARED_SRC_DIR)!endif#------------------------ External mode ---------------------------------------# Uncomment -DVERBOSE to have information printed to stdout# To add a new transport layer, see the comments in# <matlabroot>/toolbox/simulink/simulink/extmode_transports.m!if $(EXT_MODE) == 1EXT_CC_OPTS = -DEXT_MODE # -DVERBOSE!if $(EXTMODE_TRANSPORT) == 0 #tcpipEXT_SRC = ext_svr.c updown.c ext_work.c ext_svr_tcpip_transport.cEXT_LIB = wsock32.lib!endif!if $(EXTMODE_TRANSPORT) == 1 #serial_win32EXT_SRC = ext_svr.c updown.c ext_work.c ext_svr_serial_transport.cEXT_SRC = $(EXT_SRC) ext_serial_pkt.c ext_serial_win32_port.cEXT_LIB =!endif!if $(TMW_EXTMODE_TESTING) == 1EXT_SRC = $(EXT_SRC) ext_test.cEXT_CC_OPTS = $(EXT_CC_OPTS) -DTMW_EXTMODE_TESTING!endif!if $(EXTMODE_STATIC) == 1EXT_SRC = $(EXT_SRC) mem_mgr.cEXT_CC_OPTS = $(EXT_CC_OPTS) -DEXTMODE_STATIC -DEXTMODE_STATIC_SIZE=$(EXTMODE_STATIC_SIZE)!endif!elseEXT_SRC =EXT_CC_OPTS =EXT_LIB =!endif#------------------------ rtModel ----------------------------------------------RTM_CC_OPTS = -DUSE_RTMODEL#----------------- Compiler and Linker Options --------------------------------# Optimization Options# Set OPT_OPTS=-Zi for debugging (may depend on compiler version)OPT_OPTS = $(DEFAULT_OPT_OPTS)# General User OptionsOPTS =!if "$(OPTIMIZATION_FLAGS)" != ""CC_OPTS = $(OPTIMIZATION_FLAGS) $(OPTS) $(EXT_CC_OPTS) $(RTM_CC_OPTS)!elseCC_OPTS = $(OPT_OPTS) $(OPTS) $(EXT_CC_OPTS) $(RTM_CC_OPTS)!endifCPP_REQ_DEFINES = -DMODEL=$(MODEL) -DRT -DNUMST=$(NUMST) \ -DTID01EQ=$(TID01EQ) -DNCSTATES=$(NCSTATES) \ -DMT=$(MULTITASKING) -DHAVESTDIO # Uncomment this line to move warning level to W4# cflags = $(cflags:W3=W4)CFLAGS = $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES) \ $(cflags) $(cvarsmt) $(CFLAGS_VERSPECIFIC)CPPFLAGS = $(CPP_OPTS) $(CC_OPTS) $(CPP_REQ_DEFINES) $(USER_INCLUDES) \ $(cflags) $(cvarsmt) $(CPPFLAGS_VERSPECIFIC)LDFLAGS = $(ldebug) $(conflags) $(EXT_LIB) $(conlibs) libcpmt.lib# libcpmt.lib is the multi-threaded, static lib version of the C++ standard lib#----------------------------- Source Files -----------------------------------#Standalone executable!if "$(MODELREF_TARGET_TYPE)" == "NONE"PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)\$(MODEL).exeREQ_SRCS = $(MODULES) $(EXT_SRC)#Model Reference Target!elsePRODUCT = $(MODELLIB)REQ_SRCS = $(MODULES) $(EXT_SRC)!endifUSER_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_SRC:.c=.obj)# ------------------------- Additional Libraries ------------------------------LIBS =LIBS = $(LIBS)# ---------------------------- Linker Script ----------------------------------CMD_FILE = $(MODEL).lnkGEN_LNK_SCRIPT = $(MATLAB_ROOT)\rtw\c\tools\mkvc_lnk.pl#--------------------------------- Rules --------------------------------------all: set_environment_variables $(PRODUCT)!if "$(MODELREF_TARGET_TYPE)" == "NONE"#--- Stand-alone model ---$(PRODUCT) : $(OBJS) $(SHARED_LIB) $(LIBS) $(MODELREF_LINK_LIBS) @echo ### Linking ... $(PERL) $(GEN_LNK_SCRIPT) $(CMD_FILE) $(OBJS) $(LD) $(LDFLAGS) $(S_FUNCTIONS_LIB) $(SHARED_LIB) $(LIBS) $(MAT_LIBS) @$(CMD_FILE) @$(MODELREF_LINK_RSPFILE) -out:$@ @del $(CMD_FILE) @echo $(BUILD_SUCCESS) executable $(MODEL).exe!else#--- Model reference RTW Target ---$(PRODUCT) : $(OBJS) $(SHARED_LIB) @echo ### Linking ... $(PERL) $(GEN_LNK_SCRIPT) $(CMD_FILE) $(OBJS) $(LD) -lib /OUT:$(PRODUCT) @$(CMD_FILE) $(S_FUNCTIONS_LIB) @echo $(BUILD_SUCCESS) static library $(MODELLIB)!endif# Additional sources# Put these rule last, otherwise nmake will check toolboxes first{$(RELATIVE_PATH_TO_ANCHOR)}.c.obj : @echo ### Compiling $(<F) $(CC) $(CFLAGS) $<{$(RELATIVE_PATH_TO_ANCHOR)}.cpp.obj : @echo ### Compiling $(<F) $(CC) $(CPPFLAGS) $<.c.obj : @echo ### Compiling $(<F) $(CC) $(CFLAGS) $<.cpp.obj : @echo ### Compiling $(<F) $(CC) $(CPPFLAGS) $<!if "$(SHARED_LIB)" != ""$(SHARED_LIB) : $(SHARED_SRC) @echo ### Creating $@ @$(CC) $(CFLAGS) -Fo$(SHARED_BIN_DIR)\ @<<$?<< @$(LIBCMD) /nologo /out:$@ $(SHARED_OBJS) @echo ### $@ Created!endifset_environment_variables: @set INCLUDE=$(INCLUDE) @set LIB=$(LIB)# Libraries:#----------------------------- Dependencies -----------------------------------$(OBJS) : $(MAKEFILE) rtw_proj.tmw
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -