forked from lucysrausch/hoverboard-firmware-hack
- 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
442 lines
13 KiB
Makefile
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."
|
|
|
|
|