first cut at turnon scripts for EasyTimer v2
[fw/altos] / src / chaoskey-v1.0 / Makefile
index f6b78d0772f9d52a56dde60e52e9c4801434a54b..c93311acd1ddc10fdec992e8abdd0d9a93fa7661 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 \
@@ -45,26 +48,30 @@ PRODUCT_DEF=-DCHAOSKEY_V_1_0
 IDVENDOR=0x1d50
 IDPRODUCT=0x60c6
 
-CFLAGS = $(PRODUCT_DEF) $(STMF0_CFLAGS) -g -Os
+CFLAGS = $(PRODUCT_DEF) $(STMF0_CFLAGS)
 
 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)
-
-ao_product.h: ao-make-product.5c ../Version
-       $(call quiet,NICKLE,$<) $< -m altusmetrum.org -V $(IDVENDOR) -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) -o $@
+       $(call quiet,CC) $(LDFLAGS) -o $(PROG) $(OBJ) $(LIBS)
 
 $(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 +83,7 @@ check: $(METAINFO)
 distclean:     clean
 
 clean:
-       rm -f *.o $(PROGNAME)-*.elf $(PROGNAME)-*.ihx
+       rm -f *.o $(PROGNAME)-*.elf $(PROGNAME)-*.ihx *.bin $(PROGNAME)-*.map
        rm -f ao_product.h
        rm -f *.cab