# AltOS build
#
#
-vpath % ..:../core:../product:../drivers:../avr
+vpath % ..:../kernel:../product:../drivers:../avr
vpath ao-make-product.5c ../util
+include ../avr/Makefile.defs
+
MCU=atmega32u4
DUDECPUTYPE=m32u4
#PROGRAMMER=stk500v2 -P usb
-PROGRAMMER=usbtiny
-LOADCMD=avrdude
LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
-CC=avr-gcc
-OBJCOPY=avr-objcopy
-ifndef VERSION
-include ../Version
-endif
+#LDFLAGS=-L$(LDSCRIPTS) -Tavr5.x
INC = \
ao.h \
+ ao_arch.h \
ao_usb.h \
ao_pins.h \
- altitude.h
+ ao_product.h
#
# Common AltOS sources
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 \
ao_romconfig.c \
ao_usb_avr.c \
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
PRODUCT_DEF=-DTELESCIENCE
IDPRODUCT=0x0011
-CFLAGS = $(PRODUCT_DEF) -I. -I../avr -I../core -I..
+CFLAGS = $(PRODUCT_DEF) -I. -I../avr -I../kernel -I..
CFLAGS += -g -mmcu=$(MCU) -Wall -Wstrict-prototypes -O3 -mcall-prologues -DAVR
NICKLE=nickle
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)