altos: Add gyro-based orientation tracking
[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 include Makedefs
17
18 SDCCDIRS=\
19         telemetrum-v1.2 telemetrum-v1.1 telemetrum-v1.0 \
20         teledongle-v0.2 \
21         telemini-v1.0 \
22         telebt-v1.0 \
23         teleterra-v0.2 teleshield-v0.1 \
24         telefire-v0.1 telefire-v0.2 \
25         telemini-v2.0
26
27 ARMM3DIRS=\
28         telemega-v0.1 telemega-v0.1/flash-loader \
29         telemega-v0.3 telemega-v0.3/flash-loader \
30         megadongle-v0.1 megadongle-v0.1/flash-loader \
31         telegps-v0.3 telegps-v0.3/flash-loader \
32         stm-bringup stm-demo \
33         telelco-v0.2 telelco-v0.2/flash-loader \
34         telescience-v0.2 telescience-v0.2/flash-loader
35
36 ARMM0DIRS=\
37         easymini-v1.0 easymini-v1.0/flash-loader
38
39 AVRDIRS=\
40         telescience-v0.1 telescience-pwm micropeak nanopeak-v0.1
41
42 SUBDIRS=
43
44 ifeq ($(strip $(HAVE_SDCC)),yes)
45 SUBDIRS+=$(SDCCDIRS)
46 endif
47
48 ifeq ($(strip $(HAVE_ARM_M3_CC)),yes)
49 SUBDIRS+=$(ARMM3DIRS)
50 foo=bar
51 endif
52
53 ifeq ($(strip $(HAVE_ARM_M0_CC)),yes)
54 SUBDIRS+=$(ARMM0DIRS)
55 baz=bletch
56 endif
57
58 ifeq ($(strip $(HAVE_AVR_CC)),yes)
59 SUBDIRS += $(AVRDIRS)
60 endif
61
62 ALLDIRS=$(SDCCDIRS) $(ARMM3DIRS) $(ARMM0DIRS) $(AVRDIRS)
63
64 all: all-local all-recursive
65
66 RECURSIVE_TARGETS = all-recursive install-recursive
67
68 $(RECURSIVE_TARGETS):
69         @target=`echo $@ | sed 's/-recursive//'`; \
70         for subdir in $(SUBDIRS); do \
71                 echo "Making $$target in $$subdir"; \
72                 (cd $$subdir && $(MAKE) $$target) || exit 1; \
73         done
74
75 ALL_RECURSIVE_TARGETS = clean-recursive
76
77 $(ALL_RECURSIVE_TARGETS):
78         @target=`echo $@ | sed 's/-recursive//'`; \
79         for subdir in $(ALLDIRS); do \
80                 echo "Making $$target in $$subdir"; \
81                 (cd $$subdir && $(MAKE) $$target) || exit 1; \
82         done
83
84 distclean:      clean
85
86 clean: clean-local clean-recursive
87
88 install: install-recursive
89
90 uninstall:
91
92 all-recursive: all-local
93
94 all-local: altitude.h altitude-pa.h ao_kalman.h ao_whiten.h
95
96 altitude.h: make-altitude
97         nickle $< > $@
98
99 altitude-pa.h: make-altitude-pa
100         nickle $< > $@
101
102 ao_kalman.h: make-kalman kalman.5c kalman_filter.5c load_csv.5c matrix.5c
103         bash $< kalman > $@
104
105 ao_whiten.h: make-whiten
106         nickle $< > $@
107
108 clean-local:
109         rm -f altitude.h ao_kalman.h