]> mj.ucw.cz Git - home-hw.git/commitdiff
Makefile: MAX_SIZE
authorMartin Mares <mj@ucw.cz>
Mon, 24 Feb 2020 18:12:17 +0000 (19:12 +0100)
committerMartin Mares <mj@ucw.cz>
Mon, 24 Feb 2020 18:12:17 +0000 (19:12 +0100)
mk/bluepill.mk

index cf034b3c390244d015867c5b22efa222e43c2e84..a155801064511023b2115a6f6586c220b0efaf9c 100644 (file)
@@ -8,6 +8,8 @@
 #      LIB_OBJS                list of library object files
 #      WITH_BOOT_LOADER        define if code origin should be shifted by 8K for boot loader
 #      WITH_DFU_FLASH          flashing uses dfu-util
+#      WITH_SERIAL_FLASH       flashing uses the built-in serial boot-loader
+#      MAX_SIZE                complain if the built firmware exceeds this size
 #
 
 vpath %.c $(ROOT)/lib
@@ -83,6 +85,9 @@ include $(OPENCM3_DIR)/mk/genlink-rules.mk
 %.bin: %.elf
        @printf "  OBJCOPY $(*).bin\n"
        $(Q)$(OBJCOPY) -Obinary $(*).elf $(*).bin
+ifdef MAX_SIZE
+       $(Q)if [ $$(stat -c '%s' $(*).bin) -gt $(MAX_SIZE) ] ; then echo >&2 "Output too large!" ; false ; fi
+endif
 
 %.elf: $(OBJS) $(UCW_LDSCRIPT)
        @printf "  LD      $(*).elf\n"