ao_intflash: Avoid overwriting code
[fw/altos] / src / Makefile.proto
index 59a3b8a616d7969a80f0ba24f12f85703aa6b6a3..ee3b4d6c60a3a23027447125be341ee3a2aaba66 100644 (file)
@@ -10,12 +10,14 @@ vpath ao-make-product.5c ..
 CC=sdcc
 
 ifndef VERSION
-VERSION=$(shell git describe)
+include ../Version
 endif
 
-CFLAGS=--model-small --debug --opt-code-speed
+CFLAGS=--model-small --debug --opt-code-speed -DCODESIZE=$(CODESIZE)
 
-LDFLAGS=--out-fmt-ihx --code-loc 0x0000 --code-size 0x8000 \
+CODESIZE ?= 0x8000
+
+LDFLAGS=--out-fmt-ihx --code-loc 0x0000 --code-size $(CODESIZE) \
        --xram-loc 0xf000 --xram-size 0xda2 --iram-size 0xff
 
 INC = \
@@ -42,11 +44,15 @@ ALTOS_SRC = \
 # Shared AltOS drivers
 #
 ALTOS_DRIVER_SRC = \
-       ao_beep.c \
        ao_config.c \
        ao_led.c \
        ao_radio.c \
-       ao_stdio.c \
+       ao_stdio.c
+
+BEEP_DRIVER_SRC = \
+       ao_beep.c
+
+USB_DRIVER_SRC = \
        ao_usb.c
 
 TELE_COMMON_SRC = \
@@ -68,9 +74,20 @@ TELE_RECEIVER_SRC =\
 #
 
 TELE_DRIVER_SRC = \
-       ao_convert.c \
+       ao_convert.c
+
+#
+# Serial port driver
+#
+SERIAL_DRIVER_SRC = \
        ao_serial.c
 
+#
+# Spi bus driver
+#
+SPI_DRIVER_SRC = \
+       ao_spi.c
+
 #
 # Debug dongle driver (only on TI)
 #
@@ -83,19 +100,31 @@ DBG_SRC = \
 TM_DRIVER_SRC = \
        ao_adc.c \
        ao_gps_report.c \
-       ao_ignite.c
+       ao_ignite.c \
+       $(BEEP_DRIVER_SRC) \
+       $(USB_DRIVER_SRC)
 
 #
 # 25LC1024 driver source
 EE_DRIVER_SRC = \
+       ao_storage.c \
        ao_ee.c
 
 #
 # AT45DB161D driver source
 
 FLASH_DRIVER_SRC = \
+       ao_storage.c \
        ao_flash.c
 
+#
+# Numonyx M25P80 driver source
+#
+
+M25_DRIVER_SRC = \
+       ao_storage.c \
+       ao_m25.c
+
 #
 # SiRF driver source
 #
@@ -126,11 +155,39 @@ TM_BASE_SRC = \
        $(ALTOS_SRC) \
        $(ALTOS_DRIVER_SRC) \
        $(TELE_DRIVER_SRC) \
+       $(SERIAL_DRIVER_SRC) \
        $(TELE_COMMON_SRC) \
        $(TM_DRIVER_SRC) \
        $(TM_TASK_SRC) \
        $(TM_MAIN_SRC)
 
+#
+# Sources for TeleMini
+TMINI_DRIVER_SRC = \
+       ao_adc.c \
+       ao_ignite.c \
+       ao_config.c \
+       ao_storage.c \
+       ao_intflash.c
+
+TMINI_TASK_SRC = \
+       ao_flight.c \
+       ao_log.c \
+       ao_report.c \
+       ao_telemetry.c
+
+TMINI_MAIN_SRC = \
+       ao_telemini.c
+
+TMINI_BASE_SRC = \
+       $(ALTOS_SRC) \
+       $(ALTOS_DRIVER_SRC) \
+       $(TELE_DRIVER_SRC) \
+       $(TELE_COMMON_SRC) \
+       $(TMINI_DRIVER_SRC) \
+       $(TMINI_TASK_SRC) \
+       $(TMINI_MAIN_SRC)
+
 TI_MAIN_SRC = \
        ao_tidongle.c
 
@@ -142,6 +199,7 @@ TI_SRC = \
        $(ALTOS_DRIVER_SRC) \
        $(TELE_RECEIVER_SRC) \
        $(TELE_COMMON_SRC) \
+       $(USB_DRIVER_SRC) \
        $(TI_MAIN_SRC) \
        $(DBG_SRC)
 
@@ -156,6 +214,7 @@ TT_SRC = \
        $(TELE_RECEIVER_SRC) \
        $(TELE_DRIVER_SRC) \
        $(TELE_COMMON_SRC) \
+       $(USB_DRIVER_SRC) \
        $(TT_MAIN_SRC)
 
 
@@ -171,6 +230,7 @@ TD_SRC = \
        $(ALTOS_DRIVER_SRC) \
        $(TELE_RECEIVER_SRC) \
        $(TELE_COMMON_SRC) \
+       $(USB_DRIVER_SRC) \
        $(TD_MAIN_SRC)
 
 include Makefile.defs
@@ -214,11 +274,9 @@ all: ../$(PROG)
 ../altitude.h: make-altitude
        nickle $< > $@
 
-ao_product.h: ao-make-product.5c always
+ao_product.h: ao-make-product.5c ../Version
        $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
 
-always:
-
 ao_product.rel: ao_product.c ao_product.h
        $(call quiet,CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"ao_product.h\"' -o$@ $<