7 VERSION=$(shell git describe)
9 CFLAGS=--model-small --debug --opt-code-speed
11 LDFLAGS=--out-fmt-ihx --code-loc 0x0000 --code-size 0x8000 \
12 --xram-loc 0xf000 --xram-size 0xda2 --iram-size 0xff
23 # Common AltOS sources
36 # Shared AltOS drivers
58 # Shared Tele drivers (on TeleMetrum, TeleTerra, TeleDongle)
67 # Drivers for partially-flled boards (TT, TD and TI)
74 # Drivers only on TeleMetrum
83 # Tasks run on TeleMetrum
95 # All sources for TeleMetrum
101 $(TELE_RECEIVER_SRC) \
111 # All sources for the TI debug dongle
115 $(ALTOS_DRIVER_SRC) \
116 $(TELE_RECEIVER_SRC) \
124 # All sources for TeleTerra
128 $(ALTOS_DRIVER_SRC) \
129 $(TELE_RECEIVER_SRC) \
137 # Sources for TeleDongle
145 $(ALTOS_DRIVER_SRC) \
146 $(TELE_RECEIVER_SRC) \
153 $(ALTOS_DRIVER_SRC) \
155 $(TELE_RECEIVER_SRC) \
165 TM_REL=$(TM_SRC:.c=.rel) ao_product-telemetrum-$(SERIAL).rel
166 TI_REL=$(TI_SRC:.c=.rel) ao_product-tidongle-$(SERIAL).rel
167 TT_REL=$(TT_SRC:.c=.rel) ao_product-teleterra-$(SERIAL).rel
168 TD_REL=$(TD_SRC:.c=.rel) ao_product-teledongle-$(SERIAL).rel
171 ao_product-telemetrum-$(SERIAL).rel \
172 ao_product-tidongle-$(SERIAL).rel \
173 ao_product-teleterra-$(SERIAL).rel \
174 ao_product-teledongle-$(SERIAL).rel
176 REL=$(SRC:.c=.rel) $(PROD_REL)
184 PROGS= telemetrum-$(SERIAL).ihx tidongle-$(SERIAL).ihx \
185 teleterra-$(SERIAL).ihx teledongle-$(SERIAL).ihx
187 HOST_PROGS=ao_flight_test
189 PCDB=$(PROGS:.ihx=.cdb)
190 PLNK=$(PROGS:.ihx=.lnk)
191 PMAP=$(PROGS:.ihx=.map)
192 PMEM=$(PROGS:.ihx=.mem)
196 $(CC) -c $(CFLAGS) -o$*.rel $*.c
198 all: $(PROGS) $(HOST_PROGS)
200 telemetrum-$(SERIAL).ihx: $(TM_REL) Makefile
201 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(TM_REL)
202 sh check-stack ao.h telemetrum-$(SERIAL).mem
204 tidongle-$(SERIAL).ihx: $(TI_REL) Makefile
205 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(TI_REL)
206 sh check-stack ao.h tidongle-$(SERIAL).mem
208 tidongle-$(SERIAL).ihx: telemetrum-$(SERIAL).ihx
210 teleterra-$(SERIAL).ihx: $(TT_REL) Makefile
211 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(TT_REL)
212 sh check-stack ao.h teleterra-$(SERIAL).mem
214 teleterra-$(SERIAL).ihx: tidongle-$(SERIAL).ihx
216 teledongle-$(SERIAL).ihx: $(TD_REL) Makefile
217 $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(TD_REL)
218 sh check-stack ao.h teledongle-$(SERIAL).mem
220 teledongle-$(SERIAL).ihx: teleterra-$(SERIAL).ihx
222 altitude.h: make-altitude
223 nickle make-altitude > altitude.h
225 TELEMETRUM_DEFS=ao-telemetrum-$(SERIAL).h
226 TELETERRA_DEFS=ao-teleterra-$(SERIAL).h
227 TELEDONGLE_DEFS=ao-teledongle-$(SERIAL).h
228 TIDONGLE_DEFS=ao-tidongle-$(SERIAL).h
230 ALL_DEFS=$(TELEMETRUM_DEFS) $(TELETERRA_DEFS) \
231 $(TELEDONGLE_DEFS) $(TIDONGLE_DEFS)
232 ao_product-telemetrum-$(SERIAL).rel: ao_product.c $(TELEMETRUM_DEFS)
233 $(CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"$(TELEMETRUM_DEFS)\"' -o$@ ao_product.c
235 ao_product-teleterra-$(SERIAL).rel: ao_product.c $(TELETERRA_DEFS)
236 $(CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"$(TELETERRA_DEFS)\"' -o$@ ao_product.c
238 ao_product-teledongle-$(SERIAL).rel: ao_product.c $(TELEDONGLE_DEFS)
239 $(CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"$(TELEDONGLE_DEFS)\"' -o$@ ao_product.c
241 ao_product-tidongle-$(SERIAL).rel: ao_product.c $(TIDONGLE_DEFS)
242 $(CC) -c $(CFLAGS) -D PRODUCT_DEFS='\"$(TIDONGLE_DEFS)\"' -o$@ ao_product.c
244 $(TELEMETRUM_DEFS): ao-make-product.5c
245 nickle ao-make-product.5c -m altusmetrum.org -p TeleMetrum -s $(SERIAL) -v $(VERSION) > $@
247 $(TELETERRA_DEFS): ao-make-product.5c
248 nickle ao-make-product.5c -m altusmetrum.org -p TeleTerra -s $(SERIAL) -v $(VERSION) > $@
250 $(TELEDONGLE_DEFS): ao-make-product.5c
251 nickle ao-make-product.5c -m altusmetrum.org -p TeleDongle -s $(SERIAL) -v $(VERSION) > $@
253 $(TIDONGLE_DEFS): ao-make-product.5c
254 nickle ao-make-product.5c -m altusmetrum.org -p TIDongle -s $(SERIAL) -v $(VERSION) > $@
257 rm -f $(ADB) $(ASM) $(LNK) $(LST) $(REL) $(RST) $(SYM)
258 rm -f $(PROGS) $(PCDB) $(PLNK) $(PMAP) $(PMEM) $(PAOM)
259 rm -f $(ALL_DEFS) $(HOST_PROGS)
260 rm -f $(TELEMETRUM_DEFS) $(TELETERRA_DEFS) $(TELEDONGLE_DEFS) $(TIDONGLE_DEFS)
264 ao_flight_test: ao_flight.c ao_flight_test.c
265 cc -g -o $@ ao_flight_test.c