Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / src / chaoskey-v1.0 / Makefile
index f6b78d0772f9d52a56dde60e52e9c4801434a54b..329f603d1107a58cc83b5d8d0767735a25a30c47 100644 (file)
@@ -14,6 +14,8 @@ INC = \
        ao_task.h \
        ao_adc_fast.h \
        ao_power.h \
+       ao_flash_readout.h \
+       ao_crc.h \
        stm32f0.h
 
 #
@@ -28,11 +30,12 @@ ALTOS_SRC = \
        ao_adc_fast.c \
        ao_crc_stm.c \
        ao_stdio.c \
-       ao_led.c \
+       ao_led_stmf0.c \
        ao_romconfig.c \
        ao_boot_chain.c \
        ao_usb_stm.c \
        ao_trng_send.c \
+       ao_flash_readout.c \
        ao_task.c \
        ao_power.c \
        ao_gpio.c \
@@ -50,12 +53,13 @@ CFLAGS = $(PRODUCT_DEF) $(STMF0_CFLAGS) -g -Os
 PROGNAME=chaoskey-v1.0
 PROG=$(PROGNAME)-$(VERSION).elf
 HEX=$(PROGNAME)-$(VERSION).ihx
+BIN=$(PROGNAME)-all-$(VERSION).bin
 METAINFO=org.altusmetrum.ChaosKey.metainfo.xml
 
 SRC=$(ALTOS_SRC) ao_chaoskey.c
 OBJ=$(SRC:.c=.o)
 
-all: $(PROG) $(HEX)
+all: $(PROG) $(HEX) $(BIN)
 
 $(PROG): Makefile $(OBJ) altos.ld
        $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ) $(LIBS)
@@ -65,6 +69,12 @@ ao_product.h: ao-make-product.5c ../Version
 
 $(OBJ): $(INC)
 
+$(BIN): $(PROG) $(LOADER)
+       $(MAKEBIN) --output=$@ --base=$(FLASH_ADDR) $(LOADER) $(PROG)
+
+$(LOADER):
+       +cd flash-loader && make
+
 %.cab: $(PROG) $(HEX) $(METAINFO)
        gcab --create --nopath $@ $(PROG) $(HEX) $(METAINFO)
 
@@ -76,7 +86,7 @@ check: $(METAINFO)
 distclean:     clean
 
 clean:
-       rm -f *.o $(PROGNAME)-*.elf $(PROGNAME)-*.ihx
+       rm -f *.o $(PROGNAME)-*.elf $(PROGNAME)-*.ihx *.bin
        rm -f ao_product.h
        rm -f *.cab