summaryrefslogtreecommitdiff
path: root/src/Makefile
blob: 8420b37648c0ec0f6175396e3031f8f8549502f9 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#
# AltOS build
#

vpath make-altitude util
vpath make-altitude-pa util
vpath make-kalman util
vpath make-whiten util
vpath kalman.5c kalman
vpath kalman_filter.5c kalman
vpath kalman_micro.5c kalman
vpath load_csv.5c kalman
vpath matrix.5c kalman

include Version
TOPDIR=.
include Makedefs

SDCCDIRS=\
	telemetrum-v1.2 telemetrum-v1.1 telemetrum-v1.0 \
	teledongle-v0.2 \
	telemini-v1.0 \
	telebt-v1.0 \
	telefire-v0.1 telefire-v0.2 \
	telerepeat-v1.0

ARMM3DIRS=\
	easymega-v1.0 easymega-v1.0/flash-loader \
	telemega-v0.1 telemega-v0.1/flash-loader \
	telemega-v1.0 telemega-v1.0/flash-loader \
	telemega-v2.0 telemega-v2.0/flash-loader \
	telemega-v3.0 telemega-v3.0/flash-loader \
	telemetrum-v2.0 telemetrum-v2.0/flash-loader \
	telemetrum-v3.0 telemetrum-v3.0/flash-loader \
	telegps-v0.3 telegps-v0.3/flash-loader \
	telegps-v1.0 telegps-v1.0/flash-loader \
	telegps-v2.0 telegps-v2.0/flash-loader \
	telelco-v0.2 telelco-v0.2/flash-loader \
	telelco-v0.3 telelco-v0.3/flash-loader \
	teledongle-v3.0 teledongle-v3.0/flash-loader \
	teleballoon-v2.0 \
	telebt-v3.0 telebt-v3.0/flash-loader \
	telebt-v4.0 telebt-v4.0/flash-loader \
	telelcotwo-v0.1 telelcotwo-v0.1/flash-loader \
	telefiretwo-v0.1 telefiretwo-v0.1/flash-loader \

ARMM0DIRS=\
	easymini-v1.0 easymini-v1.0/flash-loader \
	chaoskey-v1.0 chaoskey-v1.0/flash-loader \
	telemini-v3.0 telemini-v3.0/flash-loader \
	easymini-v2.0 easymini-v2.0/flash-loader \
	micropeak-v2.0 micropeak-v2.0/flash-loader

AVRDIRS=\
	micropeak microkite

SUBDIRS=

ifeq ($(strip $(HAVE_PDCLIB)),yes)
PDCLIB=pdclib
CLEAN_PDCLIB=clean-pdclib
endif

ifeq ($(strip $(HAVE_SDCC)),yes)
SUBDIRS+=$(SDCCDIRS)
endif

ifeq ($(strip $(HAVE_ARM_M3_CC)),yes)
SUBDIRS+=$(ARMM3DIRS)
foo=bar
endif

ifeq ($(strip $(HAVE_ARM_M0_CC)),yes)
SUBDIRS+=$(ARMM0DIRS)
baz=bletch
endif

ifeq ($(strip $(HAVE_AVR_CC)),yes)
SUBDIRS += $(AVRDIRS)
endif

ALLDIRS=$(SDCCDIRS) $(ARMM3DIRS) $(ARMM0DIRS) $(AVRDIRS)

all: all-local all-recursive

RECURSIVE_TARGETS = all-recursive install-recursive

$(RECURSIVE_TARGETS):
	@target=`echo $@ | sed 's/-recursive//'`; \
	for subdir in $(SUBDIRS); do \
		echo "Making $$target in $$subdir"; \
		(cd $$subdir && $(MAKE) $$target) || exit 1; \
	done

ALL_RECURSIVE_TARGETS = clean-recursive

$(ALL_RECURSIVE_TARGETS):
	@target=`echo $@ | sed 's/-recursive//'`; \
	for subdir in $(ALLDIRS); do \
		echo "Making $$target in $$subdir"; \
		(cd $$subdir && $(MAKE) $$target) || exit 1; \
	done

distclean:	clean

clean: clean-local clean-recursive

install: install-recursive

uninstall:

all-recursive: all-local

all-local: altitude.h altitude-pa.h altitude-pa-small.h ao_kalman.h ao_whiten.h $(PDCLIB)

altitude.h: make-altitude
	nickle $< > $@

altitude-pa.h: make-altitude-pa
	nickle $< > $@

altitude-pa-small.h: make-altitude-pa
	nickle $< --sample 3 > $@

ao_kalman.h: make-kalman kalman.5c kalman_micro.5c kalman_filter.5c load_csv.5c matrix.5c
	bash $< kalman > $@

ao_whiten.h: make-whiten
	nickle $< > $@

clean-local: $(CLEAN_PDCLIB)
	rm -f altitude.h ao_kalman.h

pdclib:
	mkdir -p $(PDCLIB_ROOT)/include $(PDCLIB_ROOT)/lib 
	cd ../pdclib && make && make prefix=`pwd`/../pdclib-root install

clean-pdclib:
	rm -rf $(PDCLIB_ROOT)
	cd ../pdclib && make clean