wideband/firmware/Makefile

198 lines
5.0 KiB
Makefile
Raw Normal View History

2020-09-19 02:49:20 -07:00
##############################################################################
# Build global options
# NOTE: Can be overridden externally.
#
# Compiler options here.
ifeq ($(USE_OPT),)
2020-11-27 19:58:38 -08:00
USE_OPT = -O2 -ggdb -fomit-frame-pointer -falign-functions=16 -fsingle-precision-constant
2020-09-19 02:49:20 -07:00
endif
# C specific options here (added to USE_OPT).
ifeq ($(USE_COPT),)
USE_COPT =
endif
# C++ specific options here (added to USE_OPT).
ifeq ($(USE_CPPOPT),)
2020-11-27 19:58:38 -08:00
USE_CPPOPT = -fno-rtti -fno-exceptions -ffast-math -funsafe-math-optimizations -fno-threadsafe-statics -fno-use-cxa-atexit
2020-09-19 02:49:20 -07:00
endif
# Enable this if you want the linker to remove unused code and data.
ifeq ($(USE_LINK_GC),)
2020-12-02 16:01:54 -08:00
USE_LINK_GC = no
2020-09-19 02:49:20 -07:00
endif
# Linker extra options here.
ifeq ($(USE_LDOPT),)
2020-12-02 16:01:54 -08:00
USE_LDOPT =
2020-09-19 02:49:20 -07:00
endif
# Enable this if you want link time optimizations (LTO).
ifeq ($(USE_LTO),)
USE_LTO = yes
endif
# Enable this if you want to see the full log while compiling.
ifeq ($(USE_VERBOSE_COMPILE),)
USE_VERBOSE_COMPILE = no
endif
# If enabled, this option makes the build process faster by not compiling
# modules not used in the current configuration.
ifeq ($(USE_SMART_BUILD),)
USE_SMART_BUILD = yes
endif
#
# Build global options
##############################################################################
##############################################################################
# Architecture or project specific options
#
# Stack size to be allocated to the Cortex-M process stack. This stack is
# the stack used by the main() thread.
ifeq ($(USE_PROCESS_STACKSIZE),)
USE_PROCESS_STACKSIZE = 0x200
endif
# Stack size to the allocated to the Cortex-M main/exceptions stack. This
# stack is used for processing interrupts and exceptions.
ifeq ($(USE_EXCEPTIONS_STACKSIZE),)
USE_EXCEPTIONS_STACKSIZE = 0x200
endif
# Enables the use of FPU (no, softfp, hard).
ifeq ($(USE_FPU),)
USE_FPU = no
endif
# FPU-related options.
ifeq ($(USE_FPU_OPT),)
USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16
endif
#
# Architecture or project specific options
##############################################################################
##############################################################################
# Project, target, sources and paths
#
# Define project name here
2020-09-20 02:35:48 -07:00
PROJECT = wideband
2020-09-19 02:49:20 -07:00
# Target settings.
MCU = cortex-m0
# Imported source files and paths.
CHIBIOS := ChibiOS
CONFDIR := ./cfg
BUILDDIR := ./build
DEPDIR := ./.dep
# Licensing files.
include $(CHIBIOS)/os/license/license.mk
# Startup files.
include $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk/startup_stm32f0xx.mk
# HAL-OSAL files (optional).
include $(CHIBIOS)/os/hal/hal.mk
include $(CHIBIOS)/os/hal/ports/STM32/STM32F0xx/platform.mk
include $(CHIBIOS)/os/hal/osal/rt-nil/osal.mk
# RTOS files (optional).
include $(CHIBIOS)/os/rt/rt.mk
include $(CHIBIOS)/os/common/ports/ARMv6-M/compilers/GCC/mk/port.mk
# Auto-build files in ./source recursively.
include $(CHIBIOS)/tools/mk/autobuild.mk
# Other files (optional).
2020-10-29 02:55:55 -07:00
include $(CHIBIOS)/os/hal/lib/streams/streams.mk
2020-09-19 02:49:20 -07:00
# Define linker script file here
2020-12-02 16:01:54 -08:00
LDSCRIPT= $(CONFDIR)/app.ld
2020-09-19 02:49:20 -07:00
# C sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
CSRC = $(ALLCSRC) cfg/board.c
# C++ sources that can be compiled in ARM or THUMB mode depending on the global
# setting.
CPPSRC = $(ALLCPPSRC) \
2020-12-09 00:24:06 -08:00
shared/flash.cpp \
2020-09-19 21:39:29 -07:00
analog_input.cpp \
2020-09-19 16:51:13 -07:00
can.cpp \
can_helper.cpp \
2020-11-01 01:17:13 -08:00
lambda_conversion.cpp \
2020-09-19 21:39:29 -07:00
pwm.cpp \
2020-10-27 16:33:32 -07:00
pump_dac.cpp \
2020-10-29 02:55:55 -07:00
sampling.cpp \
2020-10-30 01:53:54 -07:00
heater_control.cpp \
2020-10-31 14:58:34 -07:00
pid.cpp \
2020-10-31 16:59:35 -07:00
pump_control.cpp \
2020-09-19 02:49:20 -07:00
main.cpp
# List ASM source files here.
ASMSRC = $(ALLASMSRC)
# List ASM with preprocessor source files here.
ASMXSRC = $(ALLXASMSRC)
# Inclusion directories.
INCDIR = $(CONFDIR) $(ALLINC) $(TESTINC)
# Define C warning options here.
CWARN = -Wall -Wextra -Wundef -Wstrict-prototypes
# Define C++ warning options here.
CPPWARN = -Wall -Wextra -Wundef
#
# Project, target, sources and paths
##############################################################################
##############################################################################
# Start of user section
#
# List all user C define here, like -D_DEBUG=1
2020-10-29 02:55:55 -07:00
UDEFS = -DCHPRINTF_USE_FLOAT=1
2020-09-19 02:49:20 -07:00
# Define ASM defines here
UADEFS =
# List all user directories here
UINCDIR =
# List the user directory to look for the libraries here
ULIBDIR =
# List all user libraries here
2020-12-02 16:01:54 -08:00
ULIBS = bootloader/build/wideband_bootloader.o
2020-09-19 02:49:20 -07:00
#
# End of user section
##############################################################################
##############################################################################
# Common rules
#
RULESPATH = $(CHIBIOS)/os/common/startup/ARMCMx/compilers/GCC/mk
include $(RULESPATH)/arm-none-eabi.mk
include $(RULESPATH)/rules.mk
#
# Common rules
##############################################################################
##############################################################################
# Custom rules
#
#
# Custom rules
##############################################################################