3e4ed68d4d630180872444c45012bb21b1cccdc1
[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 ifeq ($(strip $(HAVE_SDCC)),yes)
43         SUBDIRS += $(SDCCDIRS)
44 endif
45
46 ifeq ($(strip ($HAVE_ARM_M3_CC)),yes)
47         SUBDIRS += $(ARMM3DIRS)
48 endif
49
50 ifeq ($(strip ($HAVE_ARM_M0_CC)),yes)
51         SUBDIRS += $(ARMM0DIRS)
52 endif
53
54 ifeq ($(strip $(HAVE_AVR_CC)),yes)
55         SUBDIRS += $(AVRDIRS)
56 endif
57
58 ALLDIRS=$(SDCCDIRS) $(ARMM3DIRS) $(ARMM0DIRS) $(AVRDIRS)
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