altos: Explicitly list the linker script needed for AVR targets.
[fw/altos] / src / telescience-v0.1 / Makefile
index a6797cbe900ea1b432b2865a5e5408ecf6db1335..81054a7531ffc7d20c3ae7a45603cd7406e419d9 100644 (file)
@@ -14,15 +14,18 @@ LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
 CC=avr-gcc
 OBJCOPY=avr-objcopy
 
+LDFLAGS=-L/usr/lib/ldscripts -Tavr5.x
+
 ifndef VERSION
 include ../Version
 endif
 
 INC = \
        ao.h \
+       ao_arch.h \
        ao_usb.h \
        ao_pins.h \
-       altitude.h
+       ao_product.h
 
 #
 # Common AltOS sources
@@ -30,7 +33,11 @@ INC = \
 TELESCIENCE_STORAGE= \
        ao_m25.c \
        ao_spi_usart.c \
-       ao_storage.c \
+       ao_storage.c
+
+TELESCIENCE_LOG= \
+       ao_log_single.c \
+       ao_log_telescience.c
 
 ALTOS_SRC = \
        ao_clock.c \
@@ -48,9 +55,8 @@ ALTOS_SRC = \
        ao_adc_avr.c \
        ao_science_slave.c \
        ao_spi_slave.c \
-       ao_log_single.c \
-       ao_log_telescience.c \
-       $(TELESCIENCE_STORAGE)
+       $(TELESCIENCE_STORAGE)\
+       $(TELESCIENCE_LOG)
 
 PRODUCT=TeleScience-v0.1
 MCU=atmega32u4
@@ -90,23 +96,22 @@ $(PROG).hex: $(PROG)
 load: $(PROG).hex
        $(LOADCMD) $(LOADARG)$(PROG).hex
 
-../altitude.h: make-altitude
-       nickle $< > $@
-
 ao_product.h: ao-make-product.5c ../Version
        $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
 
-ao_product.rel: ao_product.c ao_product.h
-       $(call quiet,CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"ao_product.h\"' -o$@ $<
+ao_product.o: ao_product.c ao_product.h
+
+%.o : %.c $(INC)
+       $(call quiet,CC) -c $(CFLAGS) $<
 
 distclean:     clean
 
 clean:
-       rm -f $(OBJ)
+       rm -f *.o $(PROG) $(PROG).hex
        rm -f ao_product.h
 
 install:
 
 uninstall:
 
-$(OBJ): ao.h ao_product.h ao_usb.h
+$(OBJ): ao_product.h $(INC)