Files
hoverboard-firmware-hack-SIN/01_Matlab/BLDC_controller_ert_rtw/BLDC_controller.mk
EmanuelFeru fe4bd76d7e ► Improved controller: faster and better overall
- the controller is faster and more light in memory footprint
- motor control is now done intependenly using Reusable code generation setting in Simulink
- fixed bug when chaging direction fast
2019-06-05 22:39:30 +02:00

442 lines
13 KiB
Makefile

###########################################################################
## Makefile generated for Simulink model 'BLDC_controller'.
##
## Makefile : BLDC_controller.mk
## Generated on : Wed Jun 05 20:33:43 2019
## MATLAB Coder version: 3.4 (R2017b)
##
## Build Info:
##
## Final product: $(RELATIVE_PATH_TO_ANCHOR)/BLDC_controller.exe
## Product type : executable
## Build type : Top-Level Standalone Executable
##
###########################################################################
###########################################################################
## MACROS
###########################################################################
# Macro Descriptions:
# PRODUCT_NAME Name of the system to build
# MAKEFILE Name of this makefile
# COMPUTER Computer type. See the MATLAB "computer" command.
# MODELREF_LINK_RSPFILE Include paths for the model reference build
# GEN_LINKER_RESPONSE Command to generate a linker response file
# CMD_FILE Command file
PRODUCT_NAME = BLDC_controller
MAKEFILE = BLDC_controller.mk
COMPUTER = PCWIN64
MATLAB_ROOT = C:/PROGRA~1/MATLAB/R2017b
MATLAB_BIN = C:/PROGRA~1/MATLAB/R2017b/bin
MATLAB_ARCH_BIN = $(MATLAB_BIN)/win64
MASTER_ANCHOR_DIR =
START_DIR = D:/git/hoverboard-firmware-hack/01_Matlab
ARCH = win64
SOLVER =
SOLVER_OBJ =
CLASSIC_INTERFACE = 0
TGT_FCN_LIB = None
MODEL_HAS_DYNAMICALLY_LOADED_SFCNS = 0
MODELREF_LINK_RSPFILE_NAME = BLDC_controller_ref.rsp
RELATIVE_PATH_TO_ANCHOR = ..
MODELREF_LINK_RSPFILE = BLDC_controller_ref.rsp
GEN_LINKER_RESPONSE = $(MATLAB_ARCH_BIN)/createResponseFile.exe 1
CMD_FILE = $(PRODUCT_NAME).rsp
C_STANDARD_OPTS = -ansi -pedantic -Wno-long-long -fwrapv
CPP_STANDARD_OPTS = -std=c++98 -pedantic -Wno-long-long -fwrapv
###########################################################################
## TOOLCHAIN SPECIFICATIONS
###########################################################################
# Toolchain Name: MinGW64 | gmake (64-bit Windows)
# Supported Version(s): 5.x
# ToolchainInfo Version: R2017b
# Specification Revision: 1.0
#
#-------------------------------------------
# Macros assumed to be defined elsewhere
#-------------------------------------------
# C_STANDARD_OPTS
# CPP_STANDARD_OPTS
# MINGW_ROOT
# MINGW_C_STANDARD_OPTS
#-----------
# MACROS
#-----------
WARN_FLAGS = -Wall -W -Wwrite-strings -Winline -Wstrict-prototypes -Wnested-externs -Wpointer-arith -Wcast-align
WARN_FLAGS_MAX = $(WARN_FLAGS) -Wcast-qual -Wshadow
CPP_WARN_FLAGS = -Wall -W -Wwrite-strings -Winline -Wpointer-arith -Wcast-align
CPP_WARN_FLAGS_MAX = $(CPP_WARN_FLAGS) -Wcast-qual -Wshadow
MEX_OPTS_FILE = $(MATLAB_ROOT)/bin/win64/mexopts/mingw64.xml
MEX_CPP_OPTS_FILE = $(MATLAB_ROOT)/bin/win64/mexopts/mingw64_g++.xml
MW_EXTERNLIB_DIR = $(MATLAB_ROOT)/extern/lib/win64/mingw64
SHELL = %SystemRoot%/system32/cmd.exe
TOOLCHAIN_SRCS =
TOOLCHAIN_INCS =
TOOLCHAIN_LIBS = -lws2_32
#------------------------
# BUILD TOOL COMMANDS
#------------------------
# C Compiler: GNU C Compiler
CC_PATH = $(MINGW_ROOT)
CC = "$(CC_PATH)/gcc"
# Linker: GNU Linker
LD_PATH = $(MINGW_ROOT)
LD = "$(LD_PATH)/gcc"
# C++ Compiler: GNU C++ Compiler
CPP_PATH = $(MINGW_ROOT)
CPP = "$(CPP_PATH)/g++"
# C++ Linker: GNU C++ Linker
CPP_LD_PATH = $(MINGW_ROOT)
CPP_LD = "$(CPP_LD_PATH)/g++"
# Archiver: GNU Archiver
AR_PATH = $(MINGW_ROOT)
AR = "$(AR_PATH)/ar"
# MEX Tool: MEX Tool
MEX_PATH = $(MATLAB_BIN)/win64
MEX = "$(MEX_PATH)/mex"
# Download: Download
DOWNLOAD =
# Execute: Execute
EXECUTE = $(PRODUCT)
# Builder: GMAKE Utility
MAKE_PATH = %MATLAB%/bin/win64
MAKE = "$(MAKE_PATH)/gmake"
#-------------------------
# Directives/Utilities
#-------------------------
CDEBUG = -g
C_OUTPUT_FLAG = -o
LDDEBUG = -g
OUTPUT_FLAG = -o
CPPDEBUG = -g
CPP_OUTPUT_FLAG = -o
CPPLDDEBUG = -g
OUTPUT_FLAG = -o
ARDEBUG =
STATICLIB_OUTPUT_FLAG =
MEX_DEBUG = -g
RM = @del
ECHO = @echo
MV = @move
RUN =
#--------------------------------------
# "Faster Runs" Build Configuration
#--------------------------------------
ARFLAGS = ruvs
CFLAGS = -c $(MINGW_C_STANDARD_OPTS) \
-O3 -fno-loop-optimize -fno-aggressive-loop-optimizations
CPPFLAGS = -c $(CPP_STANDARD_OPTS) \
-O3 -fno-loop-optimize -fno-aggressive-loop-optimizations
CPP_LDFLAGS = -Wl,-rpath,"$(MATLAB_ARCH_BIN)",-L"$(MATLAB_ARCH_BIN)" -static
CPP_SHAREDLIB_LDFLAGS = -shared -Wl,-rpath,"$(MATLAB_ARCH_BIN)",-L"$(MATLAB_ARCH_BIN)" -Wl,--no-undefined \
-Wl,--out-implib,$(basename $(PRODUCT))$(STATICLIB_EXT)
DOWNLOAD_FLAGS =
EXECUTE_FLAGS =
LDFLAGS = -Wl,-rpath,"$(MATLAB_ARCH_BIN)",-L"$(MATLAB_ARCH_BIN)" -static
MEX_CPPFLAGS = -MATLAB_ARCH=$(ARCH) $(INCLUDES) \
\
COPTIMFLAGS="$(MINGW_C_STANDARD_OPTS) \
-O3 -fno-loop-optimize -fno-aggressive-loop-optimizations \
$(DEFINES)" \
\
-silent
MEX_CPPLDFLAGS = LDFLAGS=='$$LDFLAGS'
MEX_CFLAGS = -MATLAB_ARCH=$(ARCH) $(INCLUDES) \
\
COPTIMFLAGS="$(MINGW_C_STANDARD_OPTS) \
-O3 -fno-loop-optimize -fno-aggressive-loop-optimizations \
$(DEFINES)" \
\
-silent
MEX_LDFLAGS = LDFLAGS=='$$LDFLAGS'
MAKE_FLAGS = -f $(MAKEFILE)
SHAREDLIB_LDFLAGS = -shared -Wl,-rpath,"$(MATLAB_ARCH_BIN)",-L"$(MATLAB_ARCH_BIN)" -Wl,--no-undefined \
-Wl,--out-implib,$(basename $(PRODUCT))$(STATICLIB_EXT)
#--------------------
# File extensions
#--------------------
H_EXT = .h
OBJ_EXT = .obj
C_EXT = .c
EXE_EXT = .exe
SHAREDLIB_EXT = .dll
HPP_EXT = .hpp
OBJ_EXT = .obj
CPP_EXT = .cpp
EXE_EXT = .exe
SHAREDLIB_EXT = .dll
STATICLIB_EXT = .lib
MEX_EXT = .mexw64
MAKE_EXT = .mk
###########################################################################
## OUTPUT INFO
###########################################################################
PRODUCT = $(RELATIVE_PATH_TO_ANCHOR)/BLDC_controller.exe
PRODUCT_TYPE = "executable"
BUILD_TYPE = "Top-Level Standalone Executable"
###########################################################################
## INCLUDE PATHS
###########################################################################
INCLUDES_BUILDINFO = -I$(START_DIR) -I$(MATLAB_ROOT)/simulink/include/sf_runtime -I$(START_DIR)/BLDC_controller_ert_rtw -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 -I$(MATLAB_ROOT)/rtw/c/ert
INCLUDES = $(INCLUDES_BUILDINFO)
###########################################################################
## DEFINES
###########################################################################
DEFINES_BUILD_ARGS = -DTERMFCN=0 -DONESTEPFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=1 -DINTEGER_CODE=0 -DMT=0 -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0
DEFINES_IMPLIED = -DTID01EQ=0
DEFINES_STANDARD = -DMODEL=BLDC_controller -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO
DEFINES = $(DEFINES_BUILD_ARGS) $(DEFINES_IMPLIED) $(DEFINES_STANDARD)
###########################################################################
## SOURCE FILES
###########################################################################
SRCS = $(START_DIR)/BLDC_controller_ert_rtw/BLDC_controller.c $(START_DIR)/BLDC_controller_ert_rtw/BLDC_controller_data.c
MAIN_SRC = $(START_DIR)/BLDC_controller_ert_rtw/ert_main.c
ALL_SRCS = $(SRCS) $(MAIN_SRC)
###########################################################################
## OBJECTS
###########################################################################
OBJS = BLDC_controller.obj BLDC_controller_data.obj
MAIN_OBJ = ert_main.obj
ALL_OBJS = $(OBJS) $(MAIN_OBJ)
###########################################################################
## PREBUILT OBJECT FILES
###########################################################################
PREBUILT_OBJS =
###########################################################################
## LIBRARIES
###########################################################################
LIBS =
###########################################################################
## SYSTEM LIBRARIES
###########################################################################
SYSTEM_LIBS =
###########################################################################
## ADDITIONAL TOOLCHAIN FLAGS
###########################################################################
#---------------
# C Compiler
#---------------
CFLAGS_BASIC = $(DEFINES) $(INCLUDES)
CFLAGS += $(CFLAGS_BASIC)
#-----------------
# C++ Compiler
#-----------------
CPPFLAGS_BASIC = $(DEFINES) $(INCLUDES)
CPPFLAGS += $(CPPFLAGS_BASIC)
###########################################################################
## INLINED COMMANDS
###########################################################################
ifdef SIM_TARGET_BUILD
MINGW_C_STANDARD_OPTS = $(filter-out -ansi, $(C_STANDARD_OPTS))
else
MINGW_C_STANDARD_OPTS = $(C_STANDARD_OPTS)
endif
###########################################################################
## PHONY TARGETS
###########################################################################
.PHONY : all build buildobj clean info prebuild download execute
all : build
@echo "### Successfully generated all binary outputs."
build : prebuild $(PRODUCT)
buildobj : prebuild $(OBJS) $(PREBUILT_OBJS)
@echo "### Successfully generated all binary outputs."
prebuild :
download : build
execute : download
@echo "### Invoking postbuild tool "Execute" ..."
$(EXECUTE) $(EXECUTE_FLAGS)
@echo "### Done invoking postbuild tool."
###########################################################################
## FINAL TARGET
###########################################################################
#-------------------------------------------
# Create a standalone executable
#-------------------------------------------
$(PRODUCT) : $(OBJS) $(PREBUILT_OBJS) $(MAIN_OBJ)
$(GEN_LINKER_RESPONSE) $(CMD_FILE) $(OBJS)
@echo "### Creating standalone executable "$(PRODUCT)" ..."
$(LD) $(LDFLAGS) -o $(PRODUCT) @$(CMD_FILE) $(MAIN_OBJ) $(SYSTEM_LIBS) $(TOOLCHAIN_LIBS)
@echo "### Created: $(PRODUCT)"
$(RM) $(CMD_FILE)
###########################################################################
## INTERMEDIATE TARGETS
###########################################################################
#---------------------
# SOURCE-TO-OBJECT
#---------------------
%.obj : %.c
$(CC) $(CFLAGS) -o "$@" "$<"
%.obj : %.cpp
$(CPP) $(CPPFLAGS) -o "$@" "$<"
%.obj : $(RELATIVE_PATH_TO_ANCHOR)/%.c
$(CC) $(CFLAGS) -o "$@" "$<"
%.obj : $(RELATIVE_PATH_TO_ANCHOR)/%.cpp
$(CPP) $(CPPFLAGS) -o "$@" "$<"
%.obj : $(START_DIR)/%.c
$(CC) $(CFLAGS) -o "$@" "$<"
%.obj : $(START_DIR)/%.cpp
$(CPP) $(CPPFLAGS) -o "$@" "$<"
%.obj : $(START_DIR)/BLDC_controller_ert_rtw/%.c
$(CC) $(CFLAGS) -o "$@" "$<"
%.obj : $(START_DIR)/BLDC_controller_ert_rtw/%.cpp
$(CPP) $(CPPFLAGS) -o "$@" "$<"
%.obj : $(MATLAB_ROOT)/rtw/c/src/%.c
$(CC) $(CFLAGS) -o "$@" "$<"
%.obj : $(MATLAB_ROOT)/rtw/c/src/%.cpp
$(CPP) $(CPPFLAGS) -o "$@" "$<"
%.obj : $(MATLAB_ROOT)/simulink/src/%.c
$(CC) $(CFLAGS) -o "$@" "$<"
%.obj : $(MATLAB_ROOT)/simulink/src/%.cpp
$(CPP) $(CPPFLAGS) -o "$@" "$<"
###########################################################################
## DEPENDENCIES
###########################################################################
$(ALL_OBJS) : $(MAKEFILE) rtw_proj.tmw
###########################################################################
## MISCELLANEOUS TARGETS
###########################################################################
info :
@echo "### PRODUCT = $(PRODUCT)"
@echo "### PRODUCT_TYPE = $(PRODUCT_TYPE)"
@echo "### BUILD_TYPE = $(BUILD_TYPE)"
@echo "### INCLUDES = $(INCLUDES)"
@echo "### DEFINES = $(DEFINES)"
@echo "### ALL_SRCS = $(ALL_SRCS)"
@echo "### ALL_OBJS = $(ALL_OBJS)"
@echo "### LIBS = $(LIBS)"
@echo "### MODELREF_LIBS = $(MODELREF_LIBS)"
@echo "### SYSTEM_LIBS = $(SYSTEM_LIBS)"
@echo "### TOOLCHAIN_LIBS = $(TOOLCHAIN_LIBS)"
@echo "### CFLAGS = $(CFLAGS)"
@echo "### LDFLAGS = $(LDFLAGS)"
@echo "### SHAREDLIB_LDFLAGS = $(SHAREDLIB_LDFLAGS)"
@echo "### CPPFLAGS = $(CPPFLAGS)"
@echo "### CPP_LDFLAGS = $(CPP_LDFLAGS)"
@echo "### CPP_SHAREDLIB_LDFLAGS = $(CPP_SHAREDLIB_LDFLAGS)"
@echo "### ARFLAGS = $(ARFLAGS)"
@echo "### MEX_CFLAGS = $(MEX_CFLAGS)"
@echo "### MEX_CPPFLAGS = $(MEX_CPPFLAGS)"
@echo "### MEX_LDFLAGS = $(MEX_LDFLAGS)"
@echo "### MEX_CPPLDFLAGS = $(MEX_CPPLDFLAGS)"
@echo "### DOWNLOAD_FLAGS = $(DOWNLOAD_FLAGS)"
@echo "### EXECUTE_FLAGS = $(EXECUTE_FLAGS)"
@echo "### MAKE_FLAGS = $(MAKE_FLAGS)"
clean :
$(ECHO) "### Deleting all derived files..."
$(RM) $(subst /,\,$(PRODUCT))
$(RM) $(subst /,\,$(ALL_OBJS))
$(ECHO) "### Deleted all derived files."