altos: Actually record ground averages for 6dof sensor
[fw/altos] / src / micropeak / Makefile
1 #
2 # Tiny AltOS build
3 #
4 #
5 vpath % ../attiny:../drivers:../core:..
6 vpath ao-make-product.5c ../util
7 vpath make-altitude-pa ../util
8
9 MCU=attiny85
10 DUDECPUTYPE=t85
11 #PROGRAMMER=stk500v2 -P usb
12 PROGRAMMER=usbtiny
13 LOADCMD=avrdude
14 LOADSLOW=-i 32 -B 32
15 LOADARG=-p $(DUDECPUTYPE) -c $(PROGRAMMER) -e -U flash:w:
16 CC=avr-gcc
17 OBJCOPY=avr-objcopy
18
19 ifndef VERSION
20 include ../Version
21 endif
22
23 # Support for a logging EEPROM
24 #
25 #EEPROM_SRC=ao_async.c \
26 #       ao_i2c_attiny.c \
27 #       ao_at24c.c
28 #
29
30 ALTOS_SRC = \
31         ao_micropeak.c \
32         ao_spi_attiny.c \
33         ao_led.c \
34         ao_clock.c \
35         ao_ms5607.c \
36         ao_exti.c \
37         ao_convert_pa.c \
38         ao_report_tiny.c \
39         ao_notask.c \
40         ao_eeprom_tiny.c \
41         ao_panic.c \
42         $(EEPROM_SRC)
43
44 INC=\
45         ao.h \
46         ao_pins.h \
47         ao_arch.h \
48         ao_arch_funcs.h \
49         ao_exti.h \
50         ao_ms5607.h \
51         altitude-pa.h
52
53 IDPRODUCT=0
54 PRODUCT=MicroPeak-v0.1
55 PRODUCT_DEF=-DMICROPEAK
56 CFLAGS = $(PRODUCT_DEF) -I. -I../attiny -I../core -I.. -I../drivers
57 CFLAGS += -g -mmcu=$(MCU) -Wall -Wstrict-prototypes -O3 -mcall-prologues -DATTINY
58
59 NICKLE=nickle
60
61 PROG=micropeak-v0.1
62
63 SRC=$(ALTOS_SRC)
64 OBJ=$(SRC:.c=.o)
65
66 V=0
67 # The user has explicitly enabled quiet compilation.
68 ifeq ($(V),0)
69 quiet = @printf "  $1 $2 $@\n"; $($1)
70 endif
71 # Otherwise, print the full command line.
72 quiet ?= $($1)
73
74 all: $(PROG) $(PROG).hex
75
76 CHECK=sh ../util/check-avr-mem
77
78 $(PROG): Makefile $(OBJ)
79         $(call quiet,CC) $(LDFLAGS) $(CFLAGS) -o $(PROG) $(OBJ)
80         $(call quiet,CHECK) $(PROG) || ($(RM) -f $(PROG); exit 1)
81
82 $(PROG).hex: $(PROG)
83         avr-size $(PROG)
84         $(OBJCOPY) -R .eeprom -O ihex $(PROG) $@
85
86
87 load: $(PROG).hex
88         $(LOADCMD) $(LOADARG)$(PROG).hex
89
90 load-slow: $(PROG).hex
91         $(LOADCMD) $(LOADSLOW) $(LOADARG)$(PROG).hex
92
93 ao_product.h: ao-make-product.5c ../Version
94         $(call quiet,NICKLE,$<) $< -m altusmetrum.org -i $(IDPRODUCT) -p $(PRODUCT) -v $(VERSION) > $@
95
96 ao_product.o: ao_product.c ao_product.h
97
98 %.o : %.c $(INC)
99         $(call quiet,CC) -c $(CFLAGS) $<
100
101 distclean:      clean
102
103 clean:
104         rm -f *.o $(PROG) $(PROG).hex
105         rm -f ao_product.h
106
107 ../altitude-pa.h: make-altitude-pa
108         nickle $< > $@
109
110 install:
111
112 uninstall:
113
114 $(OBJ): ao_product.h $(INC)