ifndef EXECUTABLE # Define release version for firmware here S0_RELEASE_PRODUCT = \""S0\"" S0_RELEASE_MAJOR = 0 S0_RELEASE_MINOR = 1 S0_RELEASE_BRANCH = 0 S0_RELEASE_REVISION = 0 # Main objects (not to be added in the library) OBJECTS_MAIN = \ main.o # Objects to be build for both the simulation and real target OBJECTS_GEN = \ \ system_stm32f10x.o \ sysmem.o \ startup_stm32f10x_cl.o \ \ FreeRTOSFixes.o \ Logger.o \ \ heap_2.o\ list.o \ port.o \ queue.o \ tasks.o \ timers.o \ STM32_STDPERIPH_ROOT = ../STM32F10x_StdPeriph_Lib_V3.5.0 STM32_STDPERIPH_INC = ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/STM32F10x_StdPeriph_Driver/inc STM32_DEVICE_SUPPORT_DIR = ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x STM32_CORE_SUPPORT_DIR = ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport FREERTOS_DIR = ../FreeRTOS/Source/include FREERTOS_PORT_DIR = ../FreeRTOS/Source/portable/GCC/ARM_CM3 HAL_DIR = ../HAL PLATFORM_DIR = ../Platform LINKER_SCRIPTS_DIR = linker LINKER_SCRIPT = LinkerScript.ld STARTER_SCRIPT_DIR = startup RELEASE_DEFINES = \ -DRELEASE_PRODUCT=$(RELEASE_PRODUCT) \ -DRELEASE_MAJOR=$(RELEASE_MAJOR) \ -DRELEASE_MINOR=$(RELEASE_MINOR) \ -DRELEASE_BRANCH=$(RELEASE_BRANCH) \ -DRELEASE_REVISION=$(RELEASE_REVISION) \ INCLUDES = \ -Iinc \ -I$(STM32_STDPERIPH_INC) \ -I$(FREERTOS_DIR) \ -I$(FREERTOS_PORT_DIR) \ -I$(STM32_DEVICE_SUPPORT_DIR) \ -I$(STM32_CORE_SUPPORT_DIR) \ -I$(HAL_DIR)/inc \ -I$(PLATFORM_DIR)/inc \ all: OLI_STM32_H107 OLI_STM32_H107: export RELEASE_PRODUCT := $(S0_RELEASE_PRODUCT) OLI_STM32_H107: export RELEASE_MAJOR := $(S0_RELEASE_MAJOR) OLI_STM32_H107: export RELEASE_MINOR := $(S0_RELEASE_MINOR) OLI_STM32_H107: export RELEASE_BRANCH := $(S0_RELEASE_BRANCH) OLI_STM32_H107: export RELEASE_REVISION := $(S0_RELEASE_REVISION) OLI_STM32_H107: export OBJ_DIR := obj_release/ OLI_STM32_H107: export OBJECTS := $(OBJECTS_GEN) OLI_STM32_H107: export OBJECTS_MAIN := $(OBJECTS_MAIN) OLI_STM32_H107: export CROSS_COMPILE := arm-none-eabi- OLI_STM32_H107: export CCFLAGS := -c -O2 -Wall -g -lc -lm -fno-common -mcpu=cortex-m3 -DOLI_STM32_H107 -DENABLE_SERIAL_LOGGING -mthumb $(RELEASE_DEFINES) $(INCLUDES) OLI_STM32_H107: export ASFLAGS := -g -mapcs-32 OLI_STM32_H107: export LDFLAGS := -g -nostartfiles -mcpu=cortex-m3 -mthumb -T$(LINKER_SCRIPTS_DIR)/$(LINKER_SCRIPT) -Wl,-Map=hsb_mrts_OLI_STM32_H107.map OLI_STM32_H107: export LDARCHIVES := -L. -L$(STM32_STDPERIPH_ROOT) -L$(PLATFORM_DIR) -L$(HAL_DIR) -lhsb_mrts_OLI_STM32_H107 -lPlatform -lHAL -lSTM_StdPeriph OLI_STM32_H107: export ARFLAGS := ru OLI_STM32_H107: export OBJCOPYFLAGS := -O binary OLI_STM32_H107: export OBJDUMPFLAGS := -x --syms -S OLI_STM32_H107: export EXECUTABLE := hsb_mrts_OLI_STM32_H107.out OLI_STM32_H107: export BINFILE := hsb_mrts_OLI_STM32_H107.bin OLI_STM32_H107: export LIBRARY := libhsb_mrts_OLI_STM32_H107.a OLI_STM32_H107: export LISTFILE := hsb_mrts_OLI_STM32_H107.list OLI_STM32_H107: ;@$(MAKE) clean: rm -f hsb_mrts_OLI_STM32_H107.out hsb_mrts_OLI_STM32_H107.map hsb_mrts_OLI_STM32_H107.bin hsb_mrts_OLI_STM32_H107.list hsb_mrts_OLI_STM32_H107.map libhsb_mrts_OLI_STM32_H107.a rm -rf obj_release flash: st-flash write hsdb_mrts_OLI_STM32_H107.bin 0x8000000 doc: doxygen 0387-pho-hsb-mrts-doxygen.doc .PHONY: all clean doc flash else vpath %.c \ src \ startup \ ../FreeRTOS/Source \ ../FreeRTOS/Source/portable/GCC/ARM_CM3 \ ../FreeRTOS/Source/portable/MemMang \ ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/DeviceSupport/ST/STM32F10x \ ../STM32F10x_StdPeriph_Lib_V3.5.0/Libraries/CMSIS/CM3/CoreSupport \ vpath %.s \ startup vpath %.o \ obj_release CC = $(CROSS_COMPILE)gcc LD = $(CROSS_COMPILE)gcc AS = $(CROSS_COMPILE)as AR = $(CROSS_COMPILE)ar OBJCOPY = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump $(BINFILE): $(EXECUTABLE) $(OBJCOPY) $(OBJCOPYFLAGS) $< $@ $(OBJDUMP) $(OBJDUMPFLAGS) $< > $(LISTFILE) cp $@ ../$@ $(EXECUTABLE): $(OBJ_DIR) $(OBJECTS_MAIN) $(LIBRARY) $(LD) $(LDFLAGS) $(addprefix $(OBJ_DIR), $(OBJECTS_MAIN)) $(LDARCHIVES) -o $@ $(LIBRARY): $(OBJ_DIR) $(OBJECTS) | $(OBJ_DIR) $(AR) $(ARFLAGS) $@ $(addprefix $(OBJ_DIR), $(OBJECTS)) %.o: %.c $(CC) $(CCFLAGS) $< -o $(OBJ_DIR)/$@ %.o: %.s $(AS) $(ASFLAGS) $< -o $(OBJ_DIR)/$@ $(OBJ_DIR): mkdir -p $@ endif