altos/cc1111: Wake up non-ADC sensor code each timer tick
[fw/altos] / src / Makefile
1 #
2 # AltOS build
3 #
4
5 vpath make-altitude util
6 vpath make-altitude-pa util
7 vpath make-kalman util
8 vpath make-whiten util
9 vpath kalman.5c kalman
10 vpath kalman_filter.5c kalman
11 vpath kalman_micro.5c kalman
12 vpath load_csv.5c kalman
13 vpath matrix.5c kalman
14
15 include Version
16
17 SDCCDIRS=\
18         telemetrum-v1.2 telemetrum-v1.1 telemetrum-v1.0 \
19         teledongle-v0.2 \
20         telemini-v1.0 \
21         telebt-v1.0 \
22         teleterra-v0.2 teleshield-v0.1 \
23         telefire-v0.1 telefire-v0.2 \
24         telemini-v2.0
25
26 AVRDIRS=\
27         telescience-v0.1 telescience-pwm micropeak
28
29 ARMDIRS=\
30         telemega-v0.1 telemega-v0.1/flash-loader \
31         telemega-v0.3 telemega-v0.3/flash-loader \
32         megadongle-v0.1 megadongle-v0.1/flash-loader \
33         telegps-v0.3 telegps-v0.3/flash-loader \
34         stm-bringup stm-demo \
35         telelco-v0.2 telelco-v0.2/flash-loader \
36         telescience-v0.2 telescience-v0.2/flash-loader \
37         easymini-v0.1 easymini-v0.1/flash-loader
38
39 ARMM0DIRS=\
40         easymini-v0.1
41
42 ifneq ($(shell which sdcc),)
43         SUBDIRS += $(SDCCDIRS)
44 endif
45
46 ifneq ($(shell which avr-gcc),)
47         SUBDIRS += $(AVRDIRS)
48 endif
49
50 ifneq ($(shell which /opt/cortex/bin/arm-none-eabi-gcc),)
51         SUBDIRS += $(ARMDIRS)
52 endif
53
54 ifneq ($(shell which /usr/bin/arm-none-eabi-gcc),)
55         SUBDIRS += $(ARMM0DIRS)
56 endif
57
58 ALLDIRS=$(SDCCDIRS) $(AVRDIRS) $(ARMDIRS)
59
60 all: all-local all-recursive
61
62 RECURSIVE_TARGETS = all-recursive install-recursive
63
64 $(RECURSIVE_TARGETS):
65         @target=`echo $@ | sed 's/-recursive//'`; \
66         for subdir in $(SUBDIRS); do \
67                 echo "Making $$target in $$subdir"; \
68                 (cd $$subdir && $(MAKE) $$target) || exit 1; \
69         done
70
71 ALL_RECURSIVE_TARGETS = clean-recursive
72
73 $(ALL_RECURSIVE_TARGETS):
74         @target=`echo $@ | sed 's/-recursive//'`; \
75         for subdir in $(ALLDIRS); do \
76                 echo "Making $$target in $$subdir"; \
77                 (cd $$subdir && $(MAKE) $$target) || exit 1; \
78         done
79
80 distclean:      clean
81
82 clean: clean-local clean-recursive
83
84 install: install-recursive
85
86 uninstall:
87
88 all-recursive: all-local
89
90 all-local: altitude.h altitude-pa.h ao_kalman.h ao_whiten.h
91
92 altitude.h: make-altitude
93         nickle $< > $@
94
95 altitude-pa.h: make-altitude-pa
96         nickle $< > $@
97
98 ao_kalman.h: make-kalman kalman.5c kalman_filter.5c load_csv.5c matrix.5c
99         bash $< kalman > $@
100
101 ao_whiten.h: make-whiten
102         nickle $< > $@
103
104 clean-local:
105         rm -f altitude.h ao_kalman.h