www.pudn.com > communicationmatlab.rar > RTI31.CMM


# ------------------------------------------------------------------------ 
#  rti31.tmf: 
# 
#  RTI template makefile for dSPACE DS1102 processor board, 
#  PC/AT bus version. 
#   
# 
#  Copyright (C) 1994 by dSPACE 
# 
#  RCS note: this file was created from the files tmf31.h and rti.tmf. 
#  $RCSfile: tmf31.h $ $Revision: 1.3 $ $Date: 1994/11/29 10:37:45 $ 
# ------------------------------------------------------------------------ 
 
 
# ------------------------------------------------------------------------ 
#  Macros for user-specific code 
# ------------------------------------------------------------------------ 
 
# Directory for S-Functions 
SFCN_DIR =  
 
# Names of additional user source files 
USR_SRCS = 
# Directory of the additional user source files 
USR_SRCS_DIR = 
# Path names for user include files 
USR_INCLUDES_PATH = 
# Names of additional user libraries 
USR_LIBS = 
 
 
# ------------------------------------------------------------------------ 
# The following standard macros must not be altered by the user. 
# ------------------------------------------------------------------------ 
 
# Specification of the dSPACE hardware and software ---------------------- 
 
DSP_FAMILY = 30 
DSP_TYPE   = 31 
BOARD_TYPE = ds1102 
TI_DSP     = C$(DSP_TYPE) 
 
MONITOR    = ld$(DSP_TYPE) 
CHECKERR   = chkerr$(DSP_TYPE) 
 
 
#  General part of the template makefile 
#  $RCSfile: rti.tmf $ $Revision: 1.7 $ $Date: 1994/12/21 09:27:50 $ 
 
.SILENT: 
 
#  Host Environment Specifications --------------------------------------- 
 
MAKE = |>MATLAB_ROOT<|\bin\gmake 
QUOTE = " 
HOST = PC 
BUILD = yes 
DOWNLOAD = no 
 
 
# Customization Macros --------------------------------------------------- 
# The following set of macros is customized by the make_rt program. 
 
MODEL           = |>MODEL_NAME<| 
MAKEFILE        = |>MAKEFILE_NAME<| 
S_FUNCTIONS     = |>S_FUNCTION_FILENAMES<| 
INTEGRATOR      = |>INTEG_SRC_FILENAME<| 
LOGGER          = |>LOG_SRC_FILENAME<| 
COMM_LINK       = |>COMM_LINK_FILENAME<| 
INTEG_DEFINES   = |>INTEG_DEFINES<| 
LOGGING_DEFINES = |>LOGGING_DEFINES<| 
MATLAB_ROOT     = |>MATLAB_ROOT<| 
 
 
# Download Options ------------------------------------------------------- 
 
ifdef BOARD 
  BOARD_OPT  = /b $(BOARD) 
endif 
 
ifdef SLAVE 
  SLAVE_OPT = /l $(SLAVE) 
endif 
 
 
# Tool Locations --------------------------------------------------------- 
 
# the macro variables DSPACE_ROOT and TI_ROOT 
# must be set via environment variables  
 
CODEGEN_ROOT  = $(MATLAB_ROOT)\codegen 
 
 
# TI Tools --------------------------------------------------------------- 
 
CC = cl30 
LD = $(CC) 
 
 
# Libraries -------------------------------------------------------------- 
 
DSPACE_LIBS = \ 
	-l $(DSPACE_ROOT)\$(TI_DSP)\$(BOARD_TYPE).lib \ 
	-l $(DSPACE_ROOT)\rti$(DSP_TYPE)\rti$(DSP_TYPE).lib 
 
TI_LIBS30 = -l $(TI_ROOT)\rts30.lib 
TI_LIBS40 = -l $(TI_ROOT)\prts40.lib -l $(TI_ROOT)\rts40.lib 
 
 
# Include Paths ---------------------------------------------------------- 
 
TI_INCLUDES     = $(TI_ROOT) 
MATLAB_INCLUDES = \ 
	$(MATLAB_ROOT)\simulink\include \ 
	$(CODEGEN_ROOT)\common\include  \ 
	$(CODEGEN_ROOT)\rt\common 
DSPACE_INCLUDES = $(DSPACE_ROOT)\$(TI_DSP) \ 
	$(DSPACE_ROOT)\rti$(DSP_TYPE) 
INCLUDES = . $(USR_INCLUDES_PATH) $(TI_INCLUDES) $(MATLAB_INCLUDES) \ 
	$(DSPACE_INCLUDES) 
 
 
# C Flags ----------------------------------------------------------------  
 
REQ_OPTS = -v$(DSP_FAMILY) -q -eo .o$(DSP_FAMILY) 
ifdef OPTS 
  OPT_OPTS = $(OPTS) 
else 
  OPT_OPTS = -o2 -x2 
endif 
DBG_OPTS =  
 
CC_OPTS = $(REQ_OPTS) $(OPT_OPTS) $(DBG_OPTS) 
 
ifdef SSTATE 
  SIM_DEFINES = -dSSTATE=$(SSTATE) 
endif 
MDL_DEFINES = -dMODEL=$(MODEL) 
CPP_DEFINES = $(MDL_DEFINES) $(INTEG_DEFINES) $(SIM_DEFINES) 
 
CFLAGS = $(CC_OPTS)   
 
LDFLAGS = -z -c -m $(MODEL).map -o $(MODEL).obj 
 
 
# Standard Source Files ------------------------------------------------- 
 
FRAME      = srtframe 
REQ_SRCS   = rt_sim.c simstruc.c 
SFC_SRCS   = $(S_FUNCTIONS) 
INT_SRCS   = $(INTEGRATOR) 
 
STD_SRCS   = $(REQ_SRCS) $(INT_SRCS) 
STD_OBJS   = $(MODEL).o$(DSP_FAMILY) $(FRAME).o$(DSP_FAMILY) \ 
	     $(STD_SRCS:.c=.o$(DSP_FAMILY))  
USR_OBJS   = $(USR_SRCS:.c=.o$(DSP_FAMILY)) 
SFC_OBJS   = $(SFC_SRCS:.c=.o$(DSP_FAMILY)) 
 
PROGRAM  = $(MODEL).obj 
 
 
# DOS specific settings ------------------------------------------------- 
 
TMP_LNK  = srtmodel.lnk 
APL_LNK  = $(MODEL).lnk 
 
DOS4G     = quiet 
C_MODE    = PROTECTED 
C_OPTION := $(CFLAGS) 
C_DIR    := $(INCLUDES) 
 
 
 
# Rules ================================================================= 
 
download : program_deps 
	if exist $(PROGRAM)     \ 
	  $(MAKE) -f $(MODEL).mk load 
	if not exist $(PROGRAM) \ 
	  $(MAKE) -f $(MODEL).mk abort 
	 
load : 
	$(DSPACE_ROOT)\exe\$(MONITOR) $(MODEL) $(SLAVE_OPT) $(BOARD_OPT) 
	$(DSPACE_ROOT)\exe\$(CHECKERR) $(BOARD_OPT) /q 
	echo. >con 
	echo DOWNLOAD SUCCEEDED 
	echo. >con 
 
abort :  
	echo. >con 
	echo DOWNLOAD ABORTED 
	echo. >con 
 
 
# rules to build the program -------------------------------------------- 
 
program_deps: frame_deps 
	# look for local, application specific linker command file 
	if exist $(APL_LNK)     \ 
	  $(MAKE) -f $(MODEL).mk $(PROGRAM) LNK_FILE=$(APL_LNK) 
 
	if not exist $(APL_LNK) \ 
	  $(MAKE) -f $(MODEL).mk $(PROGRAM) \ 
		 LNK_FILE=$(DSPACE_ROOT)\rti$(DSP_TYPE)\rti$(DSP_TYPE).lnk 
	 
$(PROGRAM) : $(USR_OBJS) 
$(PROGRAM) : $(SFC_OBJS) 
$(PROGRAM) : $(STD_OBJS) 
$(PROGRAM) : $(LNK_FILE) 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	# create temporary lnk file  
	copy >nul $(LNK_FILE) $(TMP_LNK) 
	# copy objects to temporary lnk file  
	echo. $(USR_OBJS) >> $(TMP_LNK) 
	echo. $(SFC_OBJS) >> $(TMP_LNK) 
	echo. $(STD_OBJS) >> $(TMP_LNK) 
	# copy libraries to temporary lnk file  
	echo. $(USR_LIBS) >> $(TMP_LNK) 
	echo. $(DSPACE_LIBS) >> $(TMP_LNK) 
	echo. $(TI_LIBS$(DSP_FAMILY)) >> $(TMP_LNK) 
	$(LD) $(LDFLAGS) $(TMP_LNK) 
	del $(TMP_LNK) 
 
 
# rules for the siumulation frame ---------------------------------------  
 
frame_deps : model_deps 
	# look for local, application specific simulation frame 
	if exist $(FRAME).c     \ 
	  $(MAKE) -f $(MODEL).mk  $(FRAME).o$(DSP_FAMILY) \ 
		THE_FRAME=$(FRAME).c  
	if not exist $(FRAME).c \ 
	  $(MAKE) -f $(MODEL).mk  $(FRAME).o$(DSP_FAMILY) \ 
		THE_FRAME=$(DSPACE_ROOT)\rti$(DSP_TYPE)\$(FRAME).c\ 
		 
 
$(FRAME).o$(DSP_FAMILY) : $(THE_FRAME) 
$(FRAME).o$(DSP_FAMILY) : $(MODEL).usr $(MODEL).io $(MAKEFILE) 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	if exist $(FRAME).o$(DSP_FAMILY)  \ 
	  del $(FRAME).o$(DSP_FAMILY) 
	copy >nul $(MODEL).io  srtmodel.io 
	copy >nul $(MODEL).usr srtmodel.usr 
	$(CC) $(CPP_DEFINES) -c $(THE_FRAME)  
	del srtmodel.io 
	del srtmodel.usr 
 
 
# rules for the model --------------------------------------------------- 
 
model_deps : 
	# look for local, application specific .trx file 
	if exist $(MODEL).trx     \ 
	  $(MAKE) -f $(MODEL).mk  $(MODEL).rc TRX_FILE=$(MODEL).trx 
	if not exist $(MODEL).trx \ 
	  $(MAKE) -f $(MODEL).mk  $(MODEL).rc 
 
$(MODEL).rc : $(MODEL).c $(MODEL).h $(TRX_FILE) $(MAKEFILE) 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	dos4gw $(DSPACE_ROOT)\exe\revise $(MODEL) $(BOARD_TYPE)  \ 
			$(DSPACE_ROOT)\$(TI_DSP)\$(BOARD_TYPE).h \ 
			$(INTEG_DEFINES) 
	if exist $(MODEL).trx     \ 
	  type $(MODEL).trx >> $(MODEL).trc 
	echo Compiling 
 
 
# general compile rules ------------------------------------------------- 
 
$(MODEL).o$(DSP_FAMILY) : $(MODEL).rc $(MODEL).rh 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	$(CC) -c $(MODEL).rc 
 
%.o$(DSP_FAMILY) : %.c 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	$(CC) -c $< 
 
%.o$(DSP_FAMILY) : $(DSPACE_ROOT)\matlab\dslib\%.c 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	$(CC) -c $< 
 
%.o$(DSP_FAMILY) : $(CODEGEN_ROOT)\rt\common\%.c 
	$(CC) -c $< 
 
%.o$(DSP_FAMILY) : $(MATLAB_ROOT)\simulink\src\%.c 
	$(CC) -c $< 
 
 
# compile rules for customizations -------------------------------------- 
 
%.o$(DSP_FAMILY) : $(SFCN_DIR)\%.c 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	$(CC) -c $< 
 
%.o$(DSP_FAMILY) : $(USR_SRCS_DIR)\%.c 
	if exist $(PROGRAM)  \ 
	  del $(PROGRAM)         
	$(CC) -c $<