COMPONENT_TARGETS = $(HARDWARE_BLUE_PILL)
include ../../../build-system/constants.mk
# ======= __END_OF_REQUIRES__ =======
sources = src
SRC_DIR = $(TARGET_BUILD_DIR)/src
src_done = $(TARGET_BUILD_DIR)/.source_done
run_gdb_script = $(TARGET_BUILD_DIR)/_run-gdb.sh
led_target = $(TARGET_BUILD_DIR)/led.bin
info_target = $(TARGET_BUILD_DIR)/.info-done
USE_TARGET_DEST_DIR_SYSROOT = no
ifeq ($(HARDWARE),$(HARDWARE_BLUE_PILL))
OPTIMIZATION_FLAGS = -O0
ARCH_FLAGS := -mthumb -mcpu=cortex-m3
endif
BUILD_TARGETS = $(led_target) $(info_target)
include ../../../build-system/core.mk
ifeq ($(HARDWARE),$(HARDWARE_BLUE_PILL))
CFLAGS += -Wall -fno-common -ffunction-sections -fdata-sections
LDFLAGS += -Wall $(ARCH_FLAGS) -Wl,--gc-sections -nostdlib -nostartfiles
endif
$(src_done): $(sources)
@cp -a $^ $(TARGET_BUILD_DIR)/
@touch $@
$(led_target): $(src_done)
@( cd $(SRC_DIR)/ ; $(BUILD_ENVIRONMENT) $(MAKE) )
@cp -a $(SRC_DIR)/main.bin $@
# ======= Also copy main.elf for debuging: =======
@cp -a $(SRC_DIR)/main.elf $(TARGET_BUILD_DIR)/led.elf
# ======= Fill the Run GDB script: =======
@echo '#!/bin/sh' > $(run_gdb_script)
@echo '' >> $(run_gdb_script)
@echo 'TOOLCHAIN_PATH=$(TOOLCHAIN_PATH)' >> $(run_gdb_script)
@echo 'TARGET=$(TARGET)' >> $(run_gdb_script)
@echo 'CROSS_PREFIX=$${TOOLCHAIN_PATH}/bin/$${TARGET}-' >> $(run_gdb_script)
@echo '' >> $(run_gdb_script)
@echo '$${CROSS_PREFIX}gdb' >> $(run_gdb_script)
@chmod a+x $(run_gdb_script)
@touch $@
$(info_target): $(led_target)
@echo "==================================="
@echo "======= Build Info: ======="
@echo "==================================="
@echo "======= CC = '$(CC)'"
@echo "======= CFLAGS = '$(CFLAGS)'"
@echo "======= LDFLAGS = '$(LDFLAGS)'"
@echo "======= ARCH_FLAGS = '$(ARCH_FLAGS)'"
@echo ""
@echo "#"
@echo "# Please find images: `basename $(led_target)` in the $(TARGET_BUILD_DIR)/ directory."
@echo "#"
@echo ""
@touch $@