⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example6.mk

📁 MATLAB仿真技术与应用一书的配套光盘
💻 MK
字号:
# Copyright 1994-2001 The MathWorks, Inc.
#
# File    : accel_vc.tmf   $Revision: 1.16 $
#
# Abstract:
#       Accelerator template makefile for building a WindowsNT-based,
#       RTW generated mex-file of Simulink model using generated C code
#       and the
#          Microsoft Visual C/C++ compiler versions 5.0, 6.0.
#
#       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. Specify OPT_OPTS=-g to
#                          create a mex file for debugging.
#         MEX_OPTS       - User specific mex 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")
#
#       This template makefile is designed to be used with a system target
#       file that contains 'rtwgensettings.BuildDirSuffix' see accel.tlc

#------------------------ 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         = nmake
HOST            = PC
BUILD           = yes
SYS_TARGET_FILE = accel.tlc

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

MODEL           = example6
MODULES         = example6_acc_dsp.c 
MAKEFILE        = example6.mk
MATLAB_ROOT     = d:\MATLAB6p1
MATLAB_BIN      = d:\MATLAB6p1\bin\win32
S_FUNCTIONS     = scomconvenc.c scomapskmod.c scomawgnchan2.c scomviterbi.c scomerrrate2.c
S_FUNCTIONS_LIB = 
SOLVER          = 
NUMST           = 1
TID01EQ         = 
NCSTATES        = 0
MEM_ALLOC       = RT_STATIC
BUILDARGS       = 

#--------------------------- Tool Specifications -------------------------------

!include $(MATLAB_ROOT)\rtw\c\tools\vctools.mak

MEX    = $(MATLAB_BIN)\mex
CC     = $(MATLAB_BIN)\mex -c
LIBCMD = lib
PERL   = $(MATLAB_ROOT)\sys\perl\win32\bin\perl

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

# Additional includes

MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\commblks\sim\export\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\commblks\sim\sfun\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\commblks\sim\src\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\commblks\sim\src\legacy\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\comm\commshr\export\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\comm\commshr\src\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\dspblks\src\sim
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\dspblks\include
MATLAB_INCLUDES = $(MATLAB_INCLUDES);d:\matlab6p1\toolbox\dspblks\src\v2


INCLUDE = ..;$(MATLAB_INCLUDES);$(ADD_INCLUDES);$(VC_INCLUDE)

#------------------------ C and MEX optimization options -----------------------

DEFAULT_OPT_OPTS = -O

MEX_OPTS = 
OPT_OPTS = $(DEFAULT_OPT_OPTS)

MEX_OPT_OPTS = $(OPT_OPTS)    # passed to 'mex -c'

!if "$(MEX_OPTS)" == "-g"
MEX_OPT_OPTS =
!endif

#-------------------------------- Mex Options  ---------------------------------

MEX_OPT_FILE =
!if "$(VISUAL_VER)" == "5.0"
MEX_OPT_FILE = -f $(MATLAB_BIN)\mexopts\msvc50opts.bat
!endif
!if "$(VISUAL_VER)" == "6.0"
MEX_OPT_FILE = -f $(MATLAB_BIN)\mexopts\msvc60opts.bat
!endif

MEX_FLAGS = $(MEX_OPTS) $(MEX_OPT_OPTS) $(MEX_OPT_FILE)

#----------------------------- Source Files -----------------------------------
USER_SRCS =

OBJS = $(MODEL)_acc.obj $(MODULES:.c=.obj) $(USER_SRCS:.c=.obj)

!if "$(MEX_OPT_OPTS)" == "$(DEFAULT_OPT_OPTS)"
RTWLIB = $(MATLAB_ROOT)\rtw\c\lib\win32\rtwlib_rtwsfcn_vc.lib
!else
RTWLIB = rtwlib.lib
!endif

CUSTLIB = dsp_rt.lib 

LIBSRC = $(MATLAB_ROOT)\rtw\c\libsrc

CMD_FILE = $(MODEL).lnk
GEN_LNK_SCRIPT = $(MATLAB_ROOT)\rtw\c\tools\mkvc_lnk.pl

#--------------------------------- Rules ---------------------------------------

..\$(MODEL)_acc.dll : set_environment_variables $(OBJS) $(RTWLIB) $(CUSTLIB)
	@echo ### Linking ...
	$(PERL) $(GEN_LNK_SCRIPT) $(CMD_FILE) $(OBJS)
	$(MEX) $(MEX_FLAGS) @$(CMD_FILE) $(RTWLIB) $(S_FUNCTIONS_LIB) $(CUSTLIB) -outdir .. 
	@echo ### Created mex file: $(MODEL)_acc.dll

# Look in simulink/src helper files

{$(MATLAB_ROOT)\simulink\src}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

# Additional sources

{d:\matlab6p1\toolbox\comm\commshr\src\legacy}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\commblks\sim\sfun}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\commblks\sim\src\legacy}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspendian}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspfft}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspflip}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspgivensrot}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspic}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspisfinite}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dsppad}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspqrdc}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspqrsl}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspqsrt}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspsvd}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\rt\dspwindow}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\v4}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\v3}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<

{d:\matlab6p1\toolbox\dspblks\src\v2}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $<



# Put these rules last, otherwise nmake will check toolboxes first

{..}.c.obj :
	@echo ### Compiling $<
	$(CC) $(MEX_FLAGS) $(USER_INCLUDES) $<

.c.obj :
	@echo ### Compiling $<
	@if exist $*.pdb del $*.pdb
	@if exist ..\$(MODEL)_acc.pdb del ..\$(MODEL)_acc.pdb
	$(CC) $(MEX_FLAGS) $(USER_INCLUDES) $<

set_environment_variables:
	@set INCLUDE=$(INCLUDE)
	@set LIB=$(LIB)
	@set MATLAB=$(MATLAB_ROOT)

# Libraries:

rtwlib.lib: rtw_proj.tmw $(MAKEFILE)
	@echo ### Creating rtwlib.lib
	@SET RTW_CC=$(CC)
	@SET RTW_CFLAGS=$(MEX_FLAGS)
	@SET RTW_LIBCMD=$(LIBCMD) /nologo /out:$@
	$(PERL) $(LIBSRC)\mklib.pl $(LIBSRC) $@

dsp_rt.lib : is_little_endian_rt.obj dspfft_rt.obj dspifft_rt.obj fft_dbllen_br_tbl_c_rt.obj fft_dbllen_br_tbl_z_rt.obj fft_dbllen_br_trig_z_rt.obj fft_dbllen_tbl_c_rt.obj fft_dbllen_tbl_z_rt.obj fft_dbllen_trig_z_rt.obj fft_dblsig_br_c_rt.obj fft_dblsig_br_z_rt.obj fft_dblsig_c_rt.obj fft_dblsig_z_rt.obj fft_interleave_br_d_rt.obj fft_interleave_br_r_rt.obj fft_interleave_d_rt.obj fft_interleave_r_rt.obj fft_r2br_c_oop_rt.obj fft_r2br_c_rt.obj fft_r2br_dz_oop_rt.obj fft_r2br_rc_oop_rt.obj fft_r2br_z_oop_rt.obj fft_r2br_z_rt.obj fft_r2dif_tblm_c_rt.obj fft_r2dif_tblm_z_rt.obj fft_r2dif_tbls_c_rt.obj fft_r2dif_tbls_z_rt.obj fft_r2dif_trig_z_rt.obj fft_r2dit_tblm_c_rt.obj fft_r2dit_tblm_z_rt.obj fft_r2dit_tbls_c_rt.obj fft_r2dit_tbls_z_rt.obj fft_r2dit_trig_z_rt.obj fft_scaledata_dd_rt.obj fft_scaledata_dz_rt.obj fft_scaledata_rc_rt.obj fft_scaledata_rr_rt.obj ifft_addcssignals_c_c_oop_rt.obj ifft_addcssignals_c_cbr_oop_rt.obj ifft_addcssignals_d_z_oop_rt.obj ifft_addcssignals_d_zbr_oop_rt.obj ifft_addcssignals_r_c_oop_rt.obj ifft_addcssignals_r_cbr_oop_rt.obj ifft_addcssignals_z_z_oop_rt.obj ifft_addcssignals_z_zbr_oop_rt.obj ifft_dbllen_tbl_c_cbr_oop_rt.obj ifft_dbllen_tbl_cbr_cbr_oop_rt.obj ifft_dbllen_tbl_d_zbr_oop_rt.obj ifft_dbllen_tbl_dbr_zbr_oop_rt.obj ifft_dbllen_tbl_r_cbr_oop_rt.obj ifft_dbllen_tbl_rbr_cbr_oop_rt.obj ifft_dbllen_tbl_z_zbr_oop_rt.obj ifft_dbllen_tbl_zbr_zbr_oop_rt.obj ifft_dbllen_trig_d_zbr_oop_rt.obj ifft_dbllen_trig_dbr_zbr_oop_rt.obj ifft_dbllen_trig_z_zbr_oop_rt.obj ifft_dbllen_trig_zbr_zbr_oop_rt.obj ifft_deinterleave_d_d_inp_rt.obj ifft_deinterleave_r_r_inp_rt.obj flip_copy_input_to_output_rt.obj flip_matrix_col_in_rt.obj flip_matrix_col_out_rt.obj flip_matrix_row_in_rt.obj flip_matrix_row_out_rt.obj flip_no_op_rt.obj flip_vector_in_rt.obj flip_vector_out_rt.obj rotg_d_rt.obj ic_copy_channel_rt.obj ic_copy_matrix_rt.obj ic_copy_scalar_rt.obj ic_copy_vector_rt.obj ic_old_copy_fcns_rt.obj isfinite_d_rt.obj pad_cols_mixed_rt.obj pad_cols_rt.obj pad_copy_io_trunc_cols_rt.obj pad_copy_io_trunc_rows_rt.obj pad_no_op_rt.obj pad_rows_cols_mixed_rt.obj pad_rows_cols_rt.obj pad_rows_mixed_rt.obj pad_rows_rt.obj qrdc_d_rt.obj qrdc_v2nrm_d_rt.obj qrdc_v2nrm_z_rt.obj qrdc_z_rt.obj qrsl_dd_rt.obj qrsl_dz_rt.obj qrsl_zz_rt.obj qsrt_d_rt.obj svd_d_rt.obj svd_z_rt.obj window_mc_c_rt.obj window_mc_d_rt.obj window_mc_r_rt.obj window_mc_z_rt.obj window_sc_c_rt.obj window_sc_d_rt.obj window_sc_r_rt.obj window_sc_z_rt.obj 
	@echo ### Creating $@
	$(LIBCMD) /nologo /out:$@ is_little_endian_rt.obj dspfft_rt.obj dspifft_rt.obj fft_dbllen_br_tbl_c_rt.obj fft_dbllen_br_tbl_z_rt.obj fft_dbllen_br_trig_z_rt.obj fft_dbllen_tbl_c_rt.obj fft_dbllen_tbl_z_rt.obj fft_dbllen_trig_z_rt.obj fft_dblsig_br_c_rt.obj fft_dblsig_br_z_rt.obj fft_dblsig_c_rt.obj fft_dblsig_z_rt.obj fft_interleave_br_d_rt.obj fft_interleave_br_r_rt.obj fft_interleave_d_rt.obj fft_interleave_r_rt.obj fft_r2br_c_oop_rt.obj fft_r2br_c_rt.obj fft_r2br_dz_oop_rt.obj fft_r2br_rc_oop_rt.obj fft_r2br_z_oop_rt.obj fft_r2br_z_rt.obj fft_r2dif_tblm_c_rt.obj fft_r2dif_tblm_z_rt.obj fft_r2dif_tbls_c_rt.obj fft_r2dif_tbls_z_rt.obj fft_r2dif_trig_z_rt.obj fft_r2dit_tblm_c_rt.obj fft_r2dit_tblm_z_rt.obj fft_r2dit_tbls_c_rt.obj fft_r2dit_tbls_z_rt.obj fft_r2dit_trig_z_rt.obj fft_scaledata_dd_rt.obj fft_scaledata_dz_rt.obj fft_scaledata_rc_rt.obj fft_scaledata_rr_rt.obj ifft_addcssignals_c_c_oop_rt.obj ifft_addcssignals_c_cbr_oop_rt.obj ifft_addcssignals_d_z_oop_rt.obj ifft_addcssignals_d_zbr_oop_rt.obj ifft_addcssignals_r_c_oop_rt.obj ifft_addcssignals_r_cbr_oop_rt.obj ifft_addcssignals_z_z_oop_rt.obj ifft_addcssignals_z_zbr_oop_rt.obj ifft_dbllen_tbl_c_cbr_oop_rt.obj ifft_dbllen_tbl_cbr_cbr_oop_rt.obj ifft_dbllen_tbl_d_zbr_oop_rt.obj ifft_dbllen_tbl_dbr_zbr_oop_rt.obj ifft_dbllen_tbl_r_cbr_oop_rt.obj ifft_dbllen_tbl_rbr_cbr_oop_rt.obj ifft_dbllen_tbl_z_zbr_oop_rt.obj ifft_dbllen_tbl_zbr_zbr_oop_rt.obj ifft_dbllen_trig_d_zbr_oop_rt.obj ifft_dbllen_trig_dbr_zbr_oop_rt.obj ifft_dbllen_trig_z_zbr_oop_rt.obj ifft_dbllen_trig_zbr_zbr_oop_rt.obj ifft_deinterleave_d_d_inp_rt.obj ifft_deinterleave_r_r_inp_rt.obj flip_copy_input_to_output_rt.obj flip_matrix_col_in_rt.obj flip_matrix_col_out_rt.obj flip_matrix_row_in_rt.obj flip_matrix_row_out_rt.obj flip_no_op_rt.obj flip_vector_in_rt.obj flip_vector_out_rt.obj rotg_d_rt.obj ic_copy_channel_rt.obj ic_copy_matrix_rt.obj ic_copy_scalar_rt.obj ic_copy_vector_rt.obj ic_old_copy_fcns_rt.obj isfinite_d_rt.obj pad_cols_mixed_rt.obj pad_cols_rt.obj pad_copy_io_trunc_cols_rt.obj pad_copy_io_trunc_rows_rt.obj pad_no_op_rt.obj pad_rows_cols_mixed_rt.obj pad_rows_cols_rt.obj pad_rows_mixed_rt.obj pad_rows_rt.obj qrdc_d_rt.obj qrdc_v2nrm_d_rt.obj qrdc_v2nrm_z_rt.obj qrdc_z_rt.obj qrsl_dd_rt.obj qrsl_dz_rt.obj qrsl_zz_rt.obj qsrt_d_rt.obj svd_d_rt.obj svd_z_rt.obj window_mc_c_rt.obj window_mc_d_rt.obj window_mc_r_rt.obj window_mc_z_rt.obj window_sc_c_rt.obj window_sc_d_rt.obj window_sc_r_rt.obj window_sc_z_rt.obj 



#----------------------------- Dependencies -----------------------------------

$(OBJS) : $(MAKEFILE) rtw_proj.tmw

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -