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