--- /dev/null
+# Copyright 1994-2012 The MathWorks, Inc.
+#
+# File : ert_unix.tmf
+#
+# Abstract:
+# Template makefile for building a UNIX-based stand-alone embedded
+# real-time version of Simulink model using generated C code.
+#
+# This makefile attempts to conform to the guidelines specified in the
+# IEEE Std 1003.2-1992 (POSIX) standard. It is designed to be used
+# with GNU Make which is located in matlabroot/rtw/bin.
+#
+# Note that this template is automatically customized by the build
+# procedure to create "<model>.mk"
+#
+# The following defines can be used to modify the behavior of the
+# build:
+# OPT_OPTS - Optimization options. Default is -O.
+# CPP_OPTS - C++ compiler options.
+# OPTS - User specific compile 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")
+#
+# To enable debugging:
+# set DEBUG_BUILD = 1 below, which will trigger OPTS=-g and
+# LDFLAGS += -g (may vary with compiler version, see compiler doc)
+#
+# This template makefile is designed to be used with a system target
+# file that contains 'rtwgensettings.BuildDirSuffix' see ert.tlc
+
+
+#------------------------ Macros read by make_rtw ------------------------------
+#
+# The following macros are read by the 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 build procedure (yes/no)?
+# SYS_TARGET_FILE - Name of system target file.
+
+MAKECMD = |>MATLAB_BIN<|/|>ARCH<|/gmake
+HOST = UNIX
+BUILD = yes
+SYS_TARGET_FILE = any
+COMPILER_TOOL_CHAIN = unix
+
+#---------------------- 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 where MATLAB is installed.
+# S_FUNCTIONS - List of additional S-function modules.
+# S_FUNCTIONS_LIB - List of S-functions libraries to link.
+# NUMST - Number of sample times
+# NCSTATES - Number of continuous states
+# COMPUTER - Computer type. See the MATLAB computer command.
+# BUILDARGS - Options passed in at the command line.
+# MULTITASKING - yes (1) or no (0): Is solver mode multitasking
+# INTEGER_CODE - yes (1) or no (0): Is generated code purely integer
+# MAT_FILE - yes (1) or no (0): Should mat file logging be done,
+# if 0, the generated code runs indefinitely
+# 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
+# MULTI_INSTANCE_CODE - Is the generated code multi instantiable (1/0)?
+# GEN_MDLREF_SFCN - (1/0): are we generating model reference wrapper s-function
+# MODELREFS - List of referenced models
+# EXTMODE_STATIC - yes (1) or no (0): Use static instead of dynamic mem alloc.
+# EXTMODE_STATIC_SIZE - Size of static memory allocation buffer.
+# TGT_FCN_LIB - Target Funtion library to use
+# PORTABLE_WORDSIZES - Is this build intented for SIL simulation with portable word sizes (1/0)?
+# SHRLIBTARGET - Is this build intended for generation of a shared library instead
+# of executable (1/0)?
+# MAKEFILEBUILDER_TGT - Is this build performed by the MakefileBuilder class
+# e.g. to create a PIL executable?
+# STANDALONE_SUPPRESS_EXE - Build the standalone target but only create object code modules
+# and do not build an executable
+
+MODEL = |>MODEL_NAME<|
+MODULES = |>MODEL_MODULES<|
+MAKEFILE = |>MAKEFILE_NAME<|
+MATLAB_ROOT = |>MATLAB_ROOT<|
+ALT_MATLAB_ROOT = |>ALT_MATLAB_ROOT<|
+MASTER_ANCHOR_DIR = |>MASTER_ANCHOR_DIR<|
+START_DIR = |>START_DIR<|
+S_FUNCTIONS = |>S_FUNCTIONS<|
+S_FUNCTIONS_LIB = |>S_FUNCTIONS_LIB<|
+NUMST = |>NUMST<|
+NCSTATES = |>NCSTATES<|
+COMPUTER = |>COMPUTER<|
+BUILDARGS = |>BUILDARGS<|
+MULTITASKING = |>MULTITASKING<|
+INTEGER_CODE = |>INTEGER_CODE<|
+MAT_FILE = |>MAT_FILE<|
+ONESTEPFCN = |>COMBINE_OUTPUT_UPDATE_FCNS<|
+TERMFCN = |>INCLUDE_MDL_TERMINATE_FCN<|
+B_ERTSFCN = |>GENERATE_ERT_S_FUNCTION<|
+MEXEXT = |>MEXEXT<|
+EXT_MODE = |>EXT_MODE<|
+TMW_EXTMODE_TESTING = |>TMW_EXTMODE_TESTING<|
+EXTMODE_TRANSPORT = |>EXTMODE_TRANSPORT<|
+EXTMODE_STATIC = |>EXTMODE_STATIC_ALLOC<|
+EXTMODE_STATIC_SIZE = |>EXTMODE_STATIC_ALLOC_SIZE<|
+MULTI_INSTANCE_CODE = |>MULTI_INSTANCE_CODE<|
+CLASSIC_INTERFACE = |>CLASSIC_INTERFACE<|
+TGT_FCN_LIB = |>TGT_FCN_LIB<|
+MODELREFS = |>MODELREFS<|
+SHARED_SRC = |>SHARED_SRC<|
+SHARED_SRC_DIR = |>SHARED_SRC_DIR<|
+SHARED_BIN_DIR = |>SHARED_BIN_DIR<|
+SHARED_LIB = |>SHARED_LIB<|
+GEN_SAMPLE_MAIN = |>GEN_SAMPLE_MAIN<|
+TARGET_LANG_EXT = |>TARGET_LANG_EXT<|
+PORTABLE_WORDSIZES = |>PORTABLE_WORDSIZES<|
+SHRLIBTARGET = |>SHRLIBTARGET<|
+MAKEFILEBUILDER_TGT = |>MAKEFILEBUILDER_TGT<|
+STANDALONE_SUPPRESS_EXE = |>STANDALONE_SUPPRESS_EXE<|
+OPTIMIZATION_FLAGS = |>OPTIMIZATION_FLAGS<|
+ADDITIONAL_LDFLAGS = |>ADDITIONAL_LDFLAGS<|
+
+# To enable debugging:
+# set DEBUG_BUILD = 1
+DEBUG_BUILD = 0
+
+#--------------------------- Model and reference models -----------------------
+MODELLIB = |>MODELLIB<|
+MODELREF_LINK_LIBS = |>MODELREF_LINK_LIBS<|
+MODELREF_INC_PATH = |>START_MDLREFINC_EXPAND_INCLUDES<|-I|>MODELREF_INC_PATH<| |>END_MDLREFINC_EXPAND_INCLUDES<|
+RELATIVE_PATH_TO_ANCHOR = |>RELATIVE_PATH_TO_ANCHOR<|
+# NONE: standalone, SIM: modelref sim, RTW: modelref coder target
+MODELREF_TARGET_TYPE = |>MODELREF_TARGET_TYPE<|
+MODELREF_SFCN_SUFFIX = |>MODELREF_SFCN_SUFFIX<|
+
+#-- In the case when directory name contains space ---
+ifneq ($(MATLAB_ROOT),$(ALT_MATLAB_ROOT))
+MATLAB_ROOT := $(ALT_MATLAB_ROOT)
+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
+ifeq ($(EXT_MODE),1)
+ EXT_CC_OPTS = -DEXT_MODE -D$(COMPUTER) #-DVERBOSE
+ EXT_LIB =
+ EXT_SRC = ext_svr.c updown.c ext_work.c
+ LINT_EXT_COMMON_SRC =
+ LINT_EXT_TCPIP_SRC =
+ ifeq ($(EXTMODE_TRANSPORT),0) #tcpip
+ EXT_SRC += rtiostream_interface.c rtiostream_tcpip.c
+ LINT_EXT_COMMON_SRC = ext_svr.c updown.c ext_work.c
+ LINT_EXT_TCPIP_SRC = rtiostream_interface.c rtiostream_tcpip.c
+ endif
+ ifeq ($(EXTMODE_TRANSPORT),1) #serial
+ EXT_SRC += ext_svr_serial_transport.c ext_serial_pkt.c
+ EXT_SRC += rtiostream_serial_interface.c rtiostream_serial.c
+ endif
+ ifeq ($(TMW_EXTMODE_TESTING),1)
+ EXT_SRC += ext_test.c
+ EXT_CC_OPTS += -DTMW_EXTMODE_TESTING
+ endif
+ ifeq ($(EXTMODE_STATIC),1)
+ EXT_SRC += mem_mgr.c
+ LINT_EXT_COMMON_SRC += mem_mgr.c
+ EXT_CC_OPTS += -DEXTMODE_STATIC -DEXTMODE_STATIC_SIZE=$(EXTMODE_STATIC_SIZE)
+ endif
+ ifeq ($(COMPUTER),SOL64)
+ EXT_LIB = -lsocket -lnsl
+ endif
+endif
+
+#--------------------------- Tool Specifications -------------------------------
+
+include $(MATLAB_ROOT)/rtw/c/tools/unixtools.mk
+
+# Determine if we are generating an s-function
+SFCN = 0
+ifeq ($(MODELREF_TARGET_TYPE),SIM)
+ SFCN = 1
+endif
+ifeq ($(B_ERTSFCN),1)
+ SFCN = 1
+endif
+
+# Use GCC_TEST to do a test compile of the local source (add DO_GCC_TEST=1)
+ifeq ($(DO_GCC_TEST), 1)
+ GCC_TEST = echo "Doing gcc test compile"; gcc -c -o /dev/null -Wall
+ GCC_TEST_OUT =
+else
+ GCC_TEST = echo
+ GCC_TEST_OUT = > /dev/null
+endif
+
+#------------------------------ Include Path -----------------------------------
+
+MATLAB_INCLUDES = \
+ -I$(MATLAB_ROOT)/extern/include \
+ -I$(MATLAB_ROOT)/simulink/include \
+ -I$(MATLAB_ROOT)/rtw/c/src \
+ -I$(MATLAB_ROOT)/rtw/c/src/ext_mode/common
+
+# Additional includes
+ADD_INCLUDES = \
+|>START_EXPAND_INCLUDES<| -I|>EXPAND_DIR_NAME<| \
+|>END_EXPAND_INCLUDES<|
+
+SHARED_INCLUDES =
+ifneq ($(SHARED_SRC_DIR),)
+SHARED_INCLUDES = -I$(SHARED_SRC_DIR)
+endif
+
+INCLUDES = -I. -I$(RELATIVE_PATH_TO_ANCHOR) $(MATLAB_INCLUDES) $(ADD_INCLUDES) $(USER_INCLUDES) \
+ $(INSTRUMENT_INCLUDES) $(MODELREF_INC_PATH) $(SHARED_INCLUDES)
+
+
+#-------------------------------- C Flags --------------------------------------
+
+# Optimization Options
+ifndef OPT_OPTS
+OPT_OPTS = $(DEFAULT_OPT_OPTS)
+endif
+
+# General User Options
+ifeq ($(DEBUG_BUILD),0)
+DBG_FLAG =
+else
+# Set OPTS=-g and any additional flags for debugging
+DBG_FLAG = -g
+LDFLAGS += -g
+endif
+
+
+
+# Compiler options, etc:
+CPP_REQ_DEFINES1 = -DMODEL=$(MODEL) -DNUMST=$(NUMST) -DNCSTATES=$(NCSTATES) \
+ -DUNIX -DMAT_FILE=$(MAT_FILE) -DINTEGER_CODE=$(INTEGER_CODE) \
+ -DONESTEPFCN=$(ONESTEPFCN) -DTERMFCN=$(TERMFCN) \
+ -DHAVESTDIO -DMULTI_INSTANCE_CODE=$(MULTI_INSTANCE_CODE) \
+ -DCLASSIC_INTERFACE=$(CLASSIC_INTERFACE)
+
+CPP_REQ_DEFINES = $(CPP_REQ_DEFINES1)
+ifeq ($(MODELREF_TARGET_TYPE),SIM)
+CPP_REQ_DEFINES += -DMDL_REF_SIM_TGT=1
+else
+CPP_REQ_DEFINES += -DMT=$(MULTITASKING)
+endif
+
+ifeq ($(PORTABLE_WORDSIZES),1)
+CPP_REQ_DEFINES += -DPORTABLE_WORDSIZES
+endif
+
+
+ifneq ($(OPTIMIZATION_FLAGS),)
+CC_OPTS = $(OPTS) $(EXT_CC_OPTS) $(OPTIMIZATION_FLAGS)
+else
+CC_OPTS = $(OPT_OPTS) $(OPTS) $(EXT_CC_OPTS)
+endif
+
+CFLAGS = $(ANSI_OPTS) $(DBG_FLAG) $(CC_OPTS) $(CPP_REQ_DEFINES) $(INCLUDES)
+CPPFLAGS = $(CPP_ANSI_OPTS) $(DBG_FLAG) $(CPP_OPTS) $(CC_OPTS) $(CPP_REQ_DEFINES) $(INCLUDES)
+ifeq ($(SFCN),1)
+ifneq ($(OPTIMIZATION_FLAGS),)
+CC_OPTS_SFCN = COPTIMFLAGS="$(ANSI_OPTS) $(OPTIMIZATION_FLAGS)"
+else
+CC_OPTS_SFCN = COPTIMFLAGS="$(OPT_OPTS) $(ANSI_OPTS)"
+endif
+CFLAGS_SFCN = $(CC_OPTS_SFCN) $(CPP_REQ_DEFINES1) $(INCLUDES)
+endif
+
+#-------------------------- Additional Libraries ------------------------------
+
+SYSLIBS = $(EXT_LIB)
+ifeq ($(SFCN),0)
+SYSLIBS += -lm
+endif
+
+LIBS =
+|>START_PRECOMP_LIBRARIES<|
+ifeq ($(OPT_OPTS),$(DEFAULT_OPT_OPTS))
+ifeq ($(INTEGER_CODE),0)
+ifeq ($(SFCN),1)
+LIBS += |>EXPAND_LIBRARY_LOCATION<|/|>EXPAND_LIBRARY_NAME<|_rtwsfcn.a
+else
+LIBS += |>EXPAND_LIBRARY_LOCATION<|/|>EXPAND_LIBRARY_NAME<|_ert.a
+endif
+else
+LIBS += |>EXPAND_LIBRARY_LOCATION<|/|>EXPAND_LIBRARY_NAME<|_int_ert.a
+endif
+else
+LIBS += |>EXPAND_LIBRARY_NAME<|.a
+endif
+|>END_PRECOMP_LIBRARIES<| |>START_EXPAND_LIBRARIES<|
+LIBS += |>EXPAND_LIBRARY_NAME<|.a |>END_EXPAND_LIBRARIES<|
+LIBS += $(S_FUNCTIONS_LIB) $(INSTRUMENT_LIBS)
+
+ifeq ($(SFCN),1)
+LIBFIXPT = -L$(MATLAB_ROOT)/bin/$(ARCH) -lfixedpoint
+else
+LIBFIXPT =
+endif
+
+ifeq ($(MODELREF_TARGET_TYPE),SIM)
+LIBMWMATHUTIL = -L$(MATLAB_ROOT)/bin/$(ARCH) -lmwmathutil
+else
+LIBMWMATHUTIL =
+endif
+
+ifeq ($(MODELREF_TARGET_TYPE),SIM)
+LIBMWIPP = -L$(MATLAB_ROOT)/bin/$(ARCH) -lippmwipt
+else
+LIBMWIPP =
+endif
+
+ifeq ($(MODELREF_TARGET_TYPE),SIM)
+LIBMWSL_FILEIO = -L$(MATLAB_ROOT)/bin/$(ARCH) -lmwsl_fileio
+else
+LIBMWSL_FILEIO =
+endif
+
+#----------------------------- Source Files ------------------------------------
+ADD_SRCS =
+
+ifneq ($(ADDITIONAL_LDFLAGS),)
+MEX_LDFLAGS = CLIBS='$$CLIBS $(ADDITIONAL_LDFLAGS)'
+else
+MEX_LDFLAGS =
+endif
+
+ifeq ($(SFCN),0)
+ SRCS = $(ADD_SRCS) $(S_FUNCTIONS)
+ SRC_DEP =
+ ifeq ($(MODELREF_TARGET_TYPE), NONE)
+ ifeq ($(SHRLIBTARGET), 1)
+ # Shared object/dynamic library
+ PRODUCT = $(MODEL).so
+ BIN_SETTING = $(LD) $(SHRLIBLDFLAGS)$(MODEL).def -o $(PRODUCT)
+ BUILD_PRODUCT_TYPE = "shared object"
+ SRCS += $(MODULES) $(MODEL).$(TARGET_LANG_EXT) $(EXT_SRC)
+ else
+ ifeq ($(MAKEFILEBUILDER_TGT), 1)
+ # Standalone executable (e.g. for PIL)
+ PREBUILT_SRCS = $(MODULES)
+ PREBUILT_OBJS = $(addsuffix .o, $(basename $(PREBUILT_SRCS)))
+ PRODUCT = $(MODEL)
+ BIN_SETTING = $(LD) $(LDFLAGS) $(ADDITIONAL_LDFLAGS) -o $(PRODUCT)
+ BUILD_PRODUCT_TYPE = "executable"
+ else
+ SRCS += $(MODULES) $(MODEL).$(TARGET_LANG_EXT) $(EXT_SRC)
+ ifeq ($(STANDALONE_SUPPRESS_EXE), 1)
+ # Build object code only for top level model
+ PRODUCT = "ObjectModulesOnly"
+ BUILD_PRODUCT_TYPE = "object modules"
+ else
+ # ERT standalone
+ PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)/$(MODEL)
+ BIN_SETTING = $(LD) $(LDFLAGS) $(ADDITIONAL_LDFLAGS) -o $(PRODUCT)
+ BUILD_PRODUCT_TYPE = "executable"
+ ifeq ($(GEN_SAMPLE_MAIN),0)
+ SRCS += rt_main.c
+ else
+ SRCS += ert_main.$(TARGET_LANG_EXT)
+ endif
+ endif
+ endif
+ endif
+ else
+ # Model reference coder target
+ SRCS += $(MODULES)
+ PRODUCT = $(MODELLIB)
+ BUILD_PRODUCT_TYPE = "library"
+ endif
+else
+ # Model Reference Simulation target, ERT S-function target
+ MEX = $(MATLAB_ROOT)/bin/mex
+ ifeq ($(MODELREF_TARGET_TYPE), SIM)
+ PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)/$(MODEL)$(MODELREF_SFCN_SUFFIX).$(MEXEXT)
+ RTW_SFUN_SRC = $(MODEL)$(MODELREF_SFCN_SUFFIX).$(TARGET_LANG_EXT)
+ SRCS = $(MODULES) $(ADD_SRCS)
+ else
+ PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)/$(MODEL)_sf.$(MEXEXT)
+ RTW_SFUN_SRC = $(MODEL)_sf.$(TARGET_LANG_EXT)
+ SRCS = $(MODULES) $(ADD_SRCS) $(S_FUNCTIONS)
+ endif
+ BIN_SETTING = $(MEX) -MATLAB_ARCH=$(ARCH) $(CFLAGS_SFCN) $(RTW_SFUN_SRC) $(MEX_LDFLAGS) -outdir $(RELATIVE_PATH_TO_ANCHOR) -silent
+ BUILD_PRODUCT_TYPE = "mex file"
+ ifeq ($(B_ERTSFCN),1)
+ SRCS += $(MODEL).$(TARGET_LANG_EXT)
+ endif
+ SRC_DEP = $(RTW_SFUN_SRC)
+endif
+
+USER_SRCS =
+
+USER_OBJS = $(addsuffix .o, $(basename $(USER_SRCS)))
+LOCAL_USER_OBJS = $(notdir $(USER_OBJS))
+
+OBJS = $(addsuffix .o, $(basename $(SRCS))) $(USER_OBJS)
+LINK_OBJS = $(addsuffix .o, $(basename $(SRCS))) $(LOCAL_USER_OBJS)
+
+SHARED_SRC := $(wildcard $(SHARED_SRC))
+SHARED_OBJS_NO_PATH = $(addsuffix .o, $(basename $(notdir $(SHARED_SRC))))
+SHARED_OBJS = $(addprefix $(join $(SHARED_BIN_DIR), /), $(SHARED_OBJS_NO_PATH))
+
+ifneq ($(findstring .cpp,$(suffix $(SRCS), $(USER_SRCS), $(PREBUILT_SRCS))),)
+ LD = $(CPP)
+endif
+#----------------------------- Lint (sol2 only) --------------------------------
+
+LINT_SRCS = $(MATLAB_ROOT)/rtw/c/src/common/rt_main.c
+LINT_SRCS += $(MODEL).$(TARGET_LANG_EXT) $(MODULES) $(USER_SRCS) $(S_FUNCTIONS)
+LINTOPTSFILE = $(MODEL).lintopts
+
+ifneq ($(LINT_EXT_COMMON_SRC), )
+ LINT_SRCS += $(MATLAB_ROOT)/rtw/c/src/ext_mode/common/$(LINT_EXT_COMMON_SRC)
+endif
+ifneq ($(LINT_EXT_TCPIP_SRC), )
+ LINT_SRCS += $(MATLAB_ROOT)/rtw/c/src/rtiostream/rtiostreamtcpip/$(LINT_EXT_TCPIP_SRC)
+endif
+
+LINT_ERROFF1 = E_NAME_DEF_NOT_USED2,E_NAME_DECL_NOT_USED_DEF2
+LINT_ERROFF2 = $(LINT_ERROFF1),E_FUNC_ARG_UNUSED
+LINT_ERROFF = $(LINT_ERROFF2),E_INDISTING_FROM_TRUNC2,E_NAME_USED_NOT_DEF2
+
+#--------------------------------- Rules ---------------------------------------
+ifeq ($(MODELREF_TARGET_TYPE),NONE)
+ ifeq ($(SHRLIBTARGET), 1)
+ ifeq ($(GEN_SAMPLE_MAIN), 1)
+$(MODEL) : $(PRODUCT) ert_main.o
+ $(LD) $(LDFLAGS) $(ADDITIONAL_LDFLAGS) -o $(MODEL) ert_main.o $(PRODUCT) $(SYSLIBS)
+ @mv $(PRODUCT) $(RELATIVE_PATH_TO_ANCHOR)/
+ @echo "### Created $(BUILD_PRODUCT_TYPE): $(PRODUCT)"
+ @mv $(MODEL) $(RELATIVE_PATH_TO_ANCHOR)/
+ @echo "### Created executable: $@"
+ else
+mvshrlib: $(PRODUCT)
+ @mv $(PRODUCT) $(RELATIVE_PATH_TO_ANCHOR)/
+ endif
+ endif
+ ifeq ($(MAKEFILEBUILDER_TGT), 1)
+$(PRODUCT) : $(PREBUILT_OBJS) $(OBJS) $(SHARED_LIB) $(LIBS) $(SRC_DEP) $(MODELLIB) $(MODELREF_LINK_LIBS)
+ $(BIN_SETTING) $(LINK_OBJS) $(PREBUILT_OBJS) $(MODELLIB) $(MODELREF_LINK_LIBS) $(SHARED_LIB) $(LIBFIXPT) $(LIBS) $(SYSLIBS)
+ @echo "### Created $(BUILD_PRODUCT_TYPE): $@"
+ else
+ ifeq ($(STANDALONE_SUPPRESS_EXE), 1)
+.PHONY: $(PRODUCT)
+$(PRODUCT) : $(OBJS) $(SHARED_LIB) $(LIBS) $(SRC_DEP) $(MODELREF_LINK_LIBS)
+ @echo "### Created $(BUILD_PRODUCT_TYPE): $@"
+ else
+$(PRODUCT) : $(OBJS) $(SHARED_LIB) $(LIBS) $(SRC_DEP) $(MODELREF_LINK_LIBS)
+ $(BIN_SETTING) $(LINK_OBJS) $(MODELREF_LINK_LIBS) $(SHARED_LIB) $(LIBFIXPT) $(LIBS) $(SYSLIBS)
+ @echo "### Created $(BUILD_PRODUCT_TYPE): $@"
+ endif
+ endif
+else
+ ifeq ($(MODELREF_TARGET_TYPE),SIM)
+ $(PRODUCT) : $(OBJS) $(SHARED_LIB) $(LIBS) $(SRC_DEP)
+ @rm -f $(MODELLIB)
+ ar ruvs $(MODELLIB) $(LINK_OBJS)
+ @echo "### Created $(MODELLIB)"
+ $(BIN_SETTING) $(MODELLIB) $(MODELREF_LINK_LIBS) $(SHARED_LIB) $(LIBFIXPT) $(LIBS) $(LIBMWMATHUTIL) $(LIBMWIPP) $(LIBMWSL_FILEIO)
+ @echo "### Created $(BUILD_PRODUCT_TYPE): $@"
+ else
+ $(PRODUCT) : $(OBJS) $(SHARED_LIB) $(SRC_DEP)
+ @rm -f $(MODELLIB)
+ ar ruvs $(MODELLIB) $(LINK_OBJS)
+ @echo "### Created $(MODELLIB)"
+ @echo "### Created $(BUILD_PRODUCT_TYPE): $@"
+ endif
+endif
+
+
+#--------------- Support for building referenced models -----------------------
+
+
+#-------------------------- Support for building modules ----------------------
+
+ifneq ($(SHARED_SRC_DIR),)
+$(SHARED_BIN_DIR)/%.o : $(SHARED_SRC_DIR)/%.c
+ $(CC) -c -o $@ $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+$(SHARED_BIN_DIR)/%.o : $(SHARED_SRC_DIR)/%.cpp
+ $(CPP) -c -o $@ $(CPPFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+endif
+
+%.o : %.c
+ @$(GCC_TEST) $(CPP_REQ_DEFINES) $(INCLUDES) "$<" $(GCC_TEST_OUT)
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG) "$<"
+
+%.o : %.cpp
+ @$(GCC_TEST) $(CPP_REQ_DEFINES) $(INCLUDES) "$<" $(GCC_TEST_OUT)
+ $(CPP) -c $(CPPFLAGS) $(GCC_WALL_FLAG) "$<"
+
+%.o : $(RELATIVE_PATH_TO_ANCHOR)/%.c
+ @$(GCC_TEST) $(CPP_REQ_DEFINES) $(INCLUDES) "$<" $(GCC_TEST_OUT)
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG) "$<"
+
+%.o : $(RELATIVE_PATH_TO_ANCHOR)/%.cpp
+ @$(GCC_TEST) $(CPP_REQ_DEFINES) $(INCLUDES) "$<" $(GCC_TEST_OUT)
+ $(CPP) -c $(CPPFLAGS) $(GCC_WALL_FLAG) "$<"
+
+ifeq ($(GEN_SAMPLE_MAIN),0)
+ifeq ($(TARGET_LANG_EXT),cpp)
+%.o : $(MATLAB_ROOT)/rtw/c/src/common/%.c
+ $(CPP) -c $(CPPFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+else
+%.o : $(MATLAB_ROOT)/rtw/c/src/common/%.c
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+endif
+endif
+
+%.o : $(MATLAB_ROOT)/rtw/c/src/%.c
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+%.o : $(MATLAB_ROOT)/rtw/c/src/ext_mode/common/%.c
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+%.o : $(MATLAB_ROOT)/rtw/c/src/rtiostream/rtiostreamtcpip/%.c
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+%.o : $(MATLAB_ROOT)/rtw/c/src/ext_mode/custom/%.c
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+|>START_EXPAND_RULES<|%.o : |>EXPAND_DIR_NAME<|/%.c
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+|>END_EXPAND_RULES<|
+
+|>START_EXPAND_RULES<|%.o : |>EXPAND_DIR_NAME<|/%.cpp
+ $(CPP) -c $(CPPFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+|>END_EXPAND_RULES<|
+
+%.o : $(MATLAB_ROOT)/simulink/src/%.cpp
+ $(CPP) -c $(CPPFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+%.o : $(MATLAB_ROOT)/simulink/src/%.c
+ $(CC) -c $(CFLAGS) $(GCC_WALL_FLAG_MAX) "$<"
+
+#------------------------------- Libraries -------------------------------------
+
+|>START_EXPAND_LIBRARIES<|MODULES_|>EXPAND_LIBRARY_NAME<| = \
+|>START_EXPAND_MODULES<| |>EXPAND_MODULE_NAME<|.o \
+|>END_EXPAND_MODULES<|
+
+|>EXPAND_LIBRARY_NAME<|.a : $(MAKEFILE) rtw_proj.tmw $(MODULES_|>EXPAND_LIBRARY_NAME<|)
+ @echo "### Creating $@ "
+ ar rs $@ $(MODULES_|>EXPAND_LIBRARY_NAME<|)
+ @echo "### $@ Created "
+
+|>END_EXPAND_LIBRARIES<|
+
+|>START_PRECOMP_LIBRARIES<|MODULES_|>EXPAND_LIBRARY_NAME<| = \
+|>START_EXPAND_MODULES<| |>EXPAND_MODULE_NAME<|.o \
+|>END_EXPAND_MODULES<|
+
+|>EXPAND_LIBRARY_NAME<|.a : $(MAKEFILE) rtw_proj.tmw $(MODULES_|>EXPAND_LIBRARY_NAME<|)
+ @echo "### Creating $@ "
+ ar rs $@ $(MODULES_|>EXPAND_LIBRARY_NAME<|)
+ @echo "### $@ Created "
+
+|>END_PRECOMP_LIBRARIES<|
+
+#----------------------------- Dependencies ------------------------------------
+
+$(OBJS) : $(MAKEFILE) rtw_proj.tmw
+
+$(SHARED_LIB) : $(SHARED_OBJS)
+ @echo "### Creating $@ "
+ ar ruvs $@ $(SHARED_OBJS)
+ @echo "### $@ Created "
+
+
+#--------- Miscellaneous rules to purge, clean and lint (sol2 only) ------------
+
+purge : clean
+ @echo "### Deleting the generated source code for $(MODEL)"
+ @\rm -f $(MODEL).c $(MODEL).h $(MODEL)_types.h $(MODEL)_data.c \
+ $(MODEL)_private.h $(MODEL).rtw $(MODULES) rtw_proj.tmw $(MAKEFILE)
+
+clean :
+ @echo "### Deleting the objects, $(PRODUCT)"
+ @\rm -f $(LINK_OBJS) $(PRODUCT)
+
+lint : rtwlib.ln
+ @lint -errchk -errhdr=%user -errtags=yes -F -L. -lrtwlib -x -Xc \
+ -erroff=$(LINT_ERROFF) \
+ -D_POSIX_C_SOURCE $(CFLAGS) $(LINT_SRCS)
+ @\rm -f $(LINTOPTSFILE)
+ @echo
+ @echo "### Created lint output only, no executable"
+ @echo
+
+rtwlib.ln : $(MAKEFILE) rtw_proj.tmw
+ @echo
+ @echo "### Linting ..."
+ @echo
+ @\rm -f llib-lrtwlib.ln $(LINTOPTSFILE)
+ @echo "-dirout=. -errchk -errhdr=%user " >> $(LINTOPTSFILE)
+ @echo "-errtags -F -ortwlib -x -Xc " >> $(LINTOPTSFILE)
+ @echo "-erroff=$(LINT_ERROFF) " >> $(LINTOPTSFILE)
+ @echo "-D_POSIX_C_SOURCE $(CFLAGS) " >> $(LINTOPTSFILE)
+ @for file in $(MATLAB_ROOT)/rtw/c/libsrc/*.c; do \
+ echo "$$file " >> $(LINTOPTSFILE); \
+ done
+ lint -flagsrc=$(LINTOPTSFILE)
+
+
+# EOF: ert_unix.tmf