aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile6
-rw-r--r--src/lpc176x/Makefile15
-rw-r--r--src/stm32f1/Makefile13
3 files changed, 17 insertions, 17 deletions
diff --git a/Makefile b/Makefile
index 61995499..a9e4d0ea 100644
--- a/Makefile
+++ b/Makefile
@@ -37,6 +37,8 @@ CFLAGS := -I$(OUT) -Isrc -I$(OUT)board-generic/ -std=gnu11 -O2 -MD -g \
-ffunction-sections -fdata-sections
CFLAGS += -flto -fwhole-program -fno-use-linker-plugin
+OBJS_klipper.elf = $(patsubst %.c, $(OUT)src/%.o,$(src-y))
+OBJS_klipper.elf += $(OUT)compile_time_request.o
CFLAGS_klipper.elf = $(CFLAGS) -Wl,--gc-sections
CPPFLAGS = -I$(OUT) -P -MD -MT $@
@@ -83,9 +85,9 @@ $(OUT)compile_time_request.o: $(patsubst %.c, $(OUT)src/%.o.ctr,$(src-y)) ./scri
$(Q)$(PYTHON) ./scripts/buildcommands.py -d $(OUT)klipper.dict -t "$(CC);$(AS);$(LD);$(OBJCOPY);$(OBJDUMP);$(STRIP)" $(OUT)klipper.compile_time_request $(OUT)compile_time_request.c
$(Q)$(CC) $(CFLAGS) -c $(OUT)compile_time_request.c -o $@
-$(OUT)klipper.elf: $(patsubst %.c, $(OUT)src/%.o,$(src-y)) $(OUT)compile_time_request.o
+$(OUT)klipper.elf: $(OBJS_klipper.elf)
@echo " Linking $@"
- $(Q)$(CC) $(patsubst %.c, $(OUT)src/%.o,$(src-y)) $(OUT)compile_time_request.o $(CFLAGS_klipper.elf) -o $@
+ $(Q)$(CC) $(OBJS_klipper.elf) $(CFLAGS_klipper.elf) -o $@
$(Q)scripts/check-gcc.sh $@ $(OUT)compile_time_request.o
################ Kconfig rules
diff --git a/src/lpc176x/Makefile b/src/lpc176x/Makefile
index 406a6d97..ae15f880 100644
--- a/src/lpc176x/Makefile
+++ b/src/lpc176x/Makefile
@@ -9,9 +9,6 @@ dirs-y += lib/lpc176x/device/TOOLCHAIN_GCC_ARM
CFLAGS += -mthumb -mcpu=cortex-m3
CFLAGS += -Ilib/lpc176x/device -Ilib/cmsis-core
-CFLAGS_klipper.elf += -T $(OUT)LPC1768.ld
-CFLAGS_klipper.elf += --specs=nano.specs --specs=nosys.specs
-
# Add source files
src-y += lpc176x/main.c lpc176x/gpio.c
src-$(CONFIG_HAVE_GPIO_ADC) += lpc176x/adc.c
@@ -23,21 +20,23 @@ src-y += ../lib/lpc176x/device/system_LPC17xx.c
src-$(CONFIG_USBSERIAL) += lpc176x/usbserial.c generic/usb_cdc.c
src-$(CONFIG_SERIAL) += lpc176x/serial.c generic/serial_irq.c
-# Add the TOOLCHAIN_GCC_ARM files to the build
+# Add assembler build rules
$(OUT)%.o: %.S
@echo " Assembling $@"
$(Q)$(AS) $< -o $@
asmsrc-y := ../lib/lpc176x/device/TOOLCHAIN_GCC_ARM/startup_LPC17xx.S
+OBJS_klipper.elf += $(patsubst %.S, $(OUT)src/%.o,$(asmsrc-y))
-$(OUT)klipper.elf: $(patsubst %.S, $(OUT)src/%.o,$(asmsrc-y))
-
-target-y := $(OUT)LPC1768.ld $(target-y)
-
+# Build the linker script
$(OUT)LPC1768.ld: lib/lpc176x/device/TOOLCHAIN_GCC_ARM/LPC1768.ld $(OUT)board-link
@echo " Preprocessing $@"
$(Q)$(CPP) -P -MD -MT $@ -DMBED_APP_START=$(CONFIG_FLASH_START) -DMBED_APP_SIZE="(512K - $(CONFIG_FLASH_START))" $< -o $@
+CFLAGS_klipper.elf += -T $(OUT)LPC1768.ld
+CFLAGS_klipper.elf += --specs=nano.specs --specs=nosys.specs
+$(OUT)klipper.elf : $(OUT)LPC1768.ld
+
# Build the additional bin output file
target-y += $(OUT)klipper.bin
diff --git a/src/stm32f1/Makefile b/src/stm32f1/Makefile
index 925038c2..12a60c2e 100644
--- a/src/stm32f1/Makefile
+++ b/src/stm32f1/Makefile
@@ -12,9 +12,6 @@ CFLAGS += -Ilib/cmsis-core
CFLAGS += -Ilib/cmsis-stm32f1/include -Ilib/hal-stm32f1/include
CFLAGS += -DSTM32F103xB
-CFLAGS_klipper.elf += -T $(OUT)stm32f1.ld
-CFLAGS_klipper.elf += --specs=nano.specs --specs=nosys.specs
-
# Add source files
src-y += stm32f1/main.c stm32f1/gpio.c
src-$(CONFIG_HAVE_GPIO_ADC) += stm32f1/adc.c
@@ -24,22 +21,24 @@ src-y += generic/crc16_ccitt.c generic/armcm_irq.c generic/armcm_timer.c
src-y += ../lib/cmsis-stm32f1/source/system_stm32f1xx.c
src-$(CONFIG_USBSERIAL) += stm32f1/usbserial.c generic/usb_cdc.c
src-$(CONFIG_SERIAL) += stm32f1/serial.c generic/serial_irq.c
-asmsrc-y = ../lib/cmsis-stm32f1/source/startup_stm32f103xb.s
# Add assembler build rules
$(OUT)%.o: %.s $(OUT)autoconf.h $(OUT)board-link
@echo " Assembling $@"
$(Q)$(AS) $< -o $@
-$(OUT)klipper.elf: $(patsubst %.s, $(OUT)src/%.o,$(asmsrc-y))
+asmsrc-y = ../lib/cmsis-stm32f1/source/startup_stm32f103xb.s
+OBJS_klipper.elf += $(patsubst %.s, $(OUT)src/%.o,$(asmsrc-y))
# Build the linker script
-target-y := $(OUT)stm32f1.ld $(target-y)
-
$(OUT)stm32f1.ld: src/stm32f1/stm32f1.ld $(OUT)board-link
@echo " Preprocessing $@"
$(Q)$(CPP) -P -MD -MT $@ -DFLASH_START=$(CONFIG_FLASH_START) $< -o $@
+CFLAGS_klipper.elf += -T $(OUT)stm32f1.ld
+CFLAGS_klipper.elf += --specs=nano.specs --specs=nosys.specs
+$(OUT)klipper.elf : $(OUT)stm32f1.ld
+
# Binary output file rules
target-y += $(OUT)klipper.bin