build: track header dependencies and report the RCM size limit
This commit is contained in:
1 parent
69405c096e
commit
555ff07ae4
1 file changed
+8
-3
@@ -44,11 +44,13 @@ CUSTOMDEFINES += -DGFX_INC=$(GFX_INC) -DFFCFG_INC=$(FFCFG_INC)
|
||||
CUSTOMDEFINES += -DVERSION='"$(VERSION)"'
|
||||
|
||||
ARCH := -march=armv4t -mtune=arm7tdmi -mthumb -mthumb-interwork
|
||||
CFLAGS = $(ARCH) -Os -nostdlib -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-inline -std=gnu11 -Wall -Wno-missing-braces $(CUSTOMDEFINES)
|
||||
CFLAGS = $(ARCH) -Os -nostdlib -ffunction-sections -fdata-sections -fomit-frame-pointer -fno-inline -std=gnu11 -Wall -Wno-missing-braces -MMD -MP $(CUSTOMDEFINES)
|
||||
LDFLAGS = $(ARCH) -nostartfiles -lgcc -Wl,--nmagic,--gc-sections -Xlinker --defsym=IPL_LOAD_ADDR=$(IPL_LOAD_ADDR)
|
||||
|
||||
################################################################################
|
||||
|
||||
MAX_PAYLOAD_SIZE := 126296
|
||||
|
||||
RAMTEST_BIN := $(OUTPUTDIR)/RAM-Test.bin
|
||||
OBJS_RAMTEST := $(filter-out $(BUILDDIR)/$(TARGET)/main.o,$(OBJS)) \
|
||||
$(BUILDDIR)/$(TARGET)/ram_test_main.o
|
||||
@@ -57,8 +59,8 @@ OBJS_RAMTEST := $(filter-out $(BUILDDIR)/$(TARGET)/main.o,$(OBJS)) \
|
||||
|
||||
all: $(OUTPUTDIR)/$(OUTPUT_NAME)
|
||||
$(eval BIN_SIZE = $(shell wc -c < $(OUTPUTDIR)/$(OUTPUT_NAME)))
|
||||
@echo "Payload size is $(BIN_SIZE) bytes"
|
||||
@echo "Max size is 126296 bytes."
|
||||
@echo "Payload size is $(BIN_SIZE) bytes (max $(MAX_PAYLOAD_SIZE) for RCM)"
|
||||
@if [ $(BIN_SIZE) -gt $(MAX_PAYLOAD_SIZE) ]; then echo "WARNING: payload exceeds the RCM size limit"; fi
|
||||
|
||||
clean:
|
||||
@rm -rf $(BUILDDIR)
|
||||
@@ -105,6 +107,9 @@ $(BUILDDIR)/$(TARGET)/%.o: $(BDKDIR)/%.S
|
||||
@mkdir -p "$(@D)"
|
||||
$(CC) $(CFLAGS) -c $< -o $@
|
||||
|
||||
# Header dependencies (generated by -MMD)
|
||||
-include $(OBJS:.o=.d) $(BUILDDIR)/$(TARGET)/ram_test_main.d
|
||||
|
||||
release: $(OUTPUTDIR)/$(OUTPUT_NAME)
|
||||
@mkdir -p release/bootloader/payloads
|
||||
@cp $(OUTPUTDIR)/$(OUTPUT_NAME) release/bootloader/payloads/$(OUTPUT_NAME)
|
||||
|
||||
Reference in new issue
Block a user