Files
@ 7e8e32dead20
Branch filter:
Location: therm/Makefile
7e8e32dead20
3.3 KiB
text/x-makefile
Setpoint setting code compiles
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
TARGET:=therm
TOOLCHAIN_PATH:=/usr/bin
TOOLCHAIN_PREFIX:=arm-none-eabi
OPTLVL:=3 # Optimization level, can be [0, 1, 2, 3, s].
#PROJECT_NAME:=$(notdir $(lastword $(CURDIR)))
TOP:=$(shell readlink -f "../..")
DISCOVERY:=Utilities/STM32L100C-Discovery
STMLIB:=libraries
OLEDDRV:=oleddrv
USBDRV:=USB
STD_PERIPH:=$(STMLIB)/STM32L1xx_StdPeriph_Driver
STARTUP:=$(STMLIB)/CMSIS/Device/ST/STM32L1xx/Source/Templates/gcc_ride7
LINKER_SCRIPT:=$(CURDIR)/stm32-flash.ld
#LINKER_SCRIPT:=$(CURDIR)/../stm32_flash.ld
INCLUDE=-I$(CURDIR)
INCLUDE+=-I$(STMLIB)/CMSIS/Include
INCLUDE+=-I$(STMLIB)/CMSIS/Device/ST/STM32L1xx/Include
INCLUDE+=-I$(STD_PERIPH)/inc
INCLUDE+=-I$(DISCOVERY)
INCLUDE+=-I$(STMLIB)/$(OLEDDRV)
INCLUDE+=-I$(STMLIB)/$(USBDRV)
# vpath is used so object files are written to the current directory instead
# of the same directory as their source files
vpath %.c $(DISCOVERY) $(STD_PERIPH)/src \
$(STMLIB)/USB \
$(STMLIB)/STM32_USB-FS_Device_Library/Class/hid/src \
$(STMLIB)/STM32_USB-FS_Device_Library/Core/src
vpath %.s $(STARTUP)
ASRC=startup_stm32l1xx_mdp.s
# Project Source Files
SRC=main.c
SRC+=stm32l1xx_it.c
SRC+=system_stm32l1xx.c
SRC+=stm32l100c_discovery.c
SRC+=ssd1306.c
SRC+=eeprom_min.c
SRC+=gpio.c
SRC+=spi.c
SRC+=stringhelpers.c
# Discovery Source Files
#SRC+=stm32f4_discovery_lis302dl.c
#SRC+=stm32f4_discovery.c
#SRC+=stm32f4_discovery_audio_codec.c
# Standard Peripheral Source Files
SRC+=stm32l1xx_syscfg.c
SRC+=misc.c
SRC+=stm32l1xx_adc.c
SRC+=stm32l1xx_dac.c
SRC+=stm32l1xx_dma.c
SRC+=stm32l1xx_exti.c
SRC+=stm32l1xx_flash.c
SRC+=stm32l1xx_gpio.c
SRC+=stm32l1xx_i2c.c
SRC+=stm32l1xx_rcc.c
SRC+=stm32l1xx_spi.c
SRC+=stm32l1xx_tim.c
# USB Source Files
SRC+=usb_core.c
SRC+=usb_init.c
SRC+=usb_int.c
SRC+=usb_mem.c
SRC+=usb_regs.c
SRC+=usb_sil.c
SRC+=hw_config.c
SRC+=usb_desc.c
SRC+=usb_endp.c
SRC+=usb_istr.c
SRC+=usb_prop.c
SRC+=usb_pwr.c
CDEFS=-DUSE_STDPERIPH_DRIVER
CDEFS+=-DSTM32L1XX
CDEFS+=-DMANGUSTA_DISCOVERY
#CDEFS+=-DUSE_USB_OTG_FS
CDEFS+=-DHSE_VALUE=8000000
#EMZ Optimized:
MCUFLAGS=-mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections
# Default: MCUFLAGS=-mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections
#MCUFLAGS=-mcpu=cortex-m4 -mthumb -mlittle-endian -mfpu=fpa -mfloat-abi=hard -mthumb-interwork
#MCUFLAGS=-mcpu=cortex-m4 -mfpu=vfpv4-sp-d16 -mfloat-abi=hard
COMMONFLAGS=-O$(OPTLVL) -g -Wall
CFLAGS=$(COMMONFLAGS) $(MCUFLAGS) $(INCLUDE) $(CDEFS)
LDLIBS=
LDFLAGS=$(COMMONFLAGS) -fno-exceptions -ffunction-sections -fdata-sections \
-nostartfiles -Wl,--gc-sections,-T$(LINKER_SCRIPT)
#####
#####
OBJ = $(SRC:%.c=%.o) $(ASRC:%.s=%.o)
CC=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-gcc
LD=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-gcc
OBJCOPY=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-objcopy
AS=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-as
AR=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-ar
GDB=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-gdb
SIZE=$(TOOLCHAIN_PATH)/$(TOOLCHAIN_PREFIX)-size
all: $(OBJ)
$(CC) -o $(TARGET).elf $(LDFLAGS) $(OBJ) $(LDLIBS)
$(OBJCOPY) -O ihex $(TARGET).elf $(TARGET).hex
$(OBJCOPY) -O binary $(TARGET).elf $(TARGET).bin
.PHONY: clean
clean:
rm -f $(OBJ)
rm -f $(TARGET).elf
rm -f $(TARGET).hex
rm -f $(TARGET).bin
# Display size
size: $(TARGET).elf
@echo Invoking: ARM GNU Print Size
$(SIZE) --format=berkeley $<
@echo
|