Merge branch 'telescience-v0.2'
[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 teledongle-v0.1 \
20         telemini-v1.0 telenano-v0.1 \
21         telebt-v0.0 telebt-v0.1 \
22         telemetrum-v0.1-sky telemetrum-v0.1-sirf \
23         telelaunch-v0.1 tidongle test \
24         teleterra-v0.2 teleshield-v0.1 \
25         telefire-v0.1 \
26         spiradio-v0.1 telescience-v0.2
27
28 AVRDIRS=\
29         telescience-v0.1 telescience-pwm telepyro-v0.1 micropeak
30
31 ARMDIRS=\
32         megametrum-v0.1 megadongle-v0.1 stm-bringup stm-demo telelco-v0.1
33
34 ifneq ($(shell which sdcc),)
35         SUBDIRS += $(SDCCDIRS)
36 endif
37
38 ifneq ($(shell which avr-gcc),)
39         SUBDIRS += $(AVRDIRS)
40 endif
41
42 ifneq ($(shell which arm-none-eabi-gcc),)
43         SUBDIRS += $(ARMDIRS)
44 endif
45
46 ALLDIRS=$(SDCCDIRS) $(AVRDIRS) $(ARMDIRS)
47
48 all: all-local all-recursive
49
50 RECURSIVE_TARGETS = all-recursive install-recursive
51
52 $(RECURSIVE_TARGETS):
53         @target=`echo $@ | sed 's/-recursive//'`; \
54         for subdir in $(SUBDIRS); do \
55                 echo "Making $$target in $$subdir"; \
56                 (cd $$subdir && $(MAKE) $$target) || exit 1; \
57         done
58
59 ALL_RECURSIVE_TARGETS = clean-recursive
60
61 $(ALL_RECURSIVE_TARGETS):
62         @target=`echo $@ | sed 's/-recursive//'`; \
63         for subdir in $(ALLDIRS); do \
64                 echo "Making $$target in $$subdir"; \
65                 (cd $$subdir && $(MAKE) $$target) || exit 1; \
66         done
67
68 distclean:      clean
69
70 clean: clean-local clean-recursive
71
72 install: install-recursive
73
74 uninstall:
75
76 all-recursive: all-local
77
78 all-local: altitude.h altitude-pa.h ao_kalman.h ao_whiten.h
79
80 altitude.h: make-altitude
81         nickle $< > $@
82
83 altitude-pa.h: make-altitude-pa
84         nickle $< > $@
85
86 ao_kalman.h: make-kalman kalman.5c kalman_filter.5c load_csv.5c matrix.5c
87         bash $< kalman > $@
88
89 ao_whiten.h: make-whiten
90         nickle $< > $@
91
92 clean-local:
93         rm -f altitude.h ao_kalman.h