altos/test: Add fake flight creation tool
[fw/altos] / src / test / Makefile
1 vpath % ..:../kernel:../drivers:../util:../micropeak:../aes:../product:../lisp
2
3 PROGS=ao_flight_test ao_flight_test_baro ao_flight_test_accel ao_flight_test_noisy_accel ao_flight_test_mm \
4         ao_flight_test_metrum ao_flight_test_mini \
5         ao_gps_test ao_gps_test_skytraq ao_gps_test_ublox ao_convert_test ao_convert_pa_test ao_fec_test \
6         ao_aprs_test ao_micropeak_test ao_fat_test ao_aes_test ao_int64_test \
7         ao_ms5607_convert_test ao_quaternion_test ao_lisp_test \
8         ao_make_fake_mm
9
10 INCS=ao_kalman.h ao_ms5607.h ao_log.h ao_data.h altitude-pa.h altitude.h ao_quaternion.h ao_eeprom_read.h
11 TEST_SRC=ao_flight_test.c
12 TEST_SRC_ALL=ao_flight_test.c ao_eeprom_read.c ao_eeprom_read_old.c
13 TEST_LIB=-ljson-c
14 FAKE_SRC_ALL=ao_make_fake.c ao_eeprom_read.c ao_eeprom_read_old.c
15 FAKE_SRC=ao_make_fake.c
16 FAKE_LIB=-ljson-c
17
18 KALMAN=make-kalman 
19
20 CFLAGS=-I.. -I. -I../kernel -I../drivers -I../micropeak -I../product -I../lisp -O0 -g -Wall -DAO_LISP_TEST -no-pie
21
22 all: $(PROGS) ao_aprs_data.wav
23
24 clean:
25         rm -f $(PROGS) ao_aprs_data.wav run-out.baro run-out.full
26
27 install:
28
29 ao_flight_test: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c altitude.h $(INCS)
30         cc $(CFLAGS) -o $@ $(TEST_SRC) $(TEST_LIB)
31
32 ao_flight_test_noisy_accel: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c $(INCS)
33         cc -DNOISY_ACCEL=1 $(CFLAGS) -o $@ $(TEST_SRC) $(TEST_LIB)
34
35 ao_flight_test_baro: $(TEST_SRC_ALL) ao_host.h ao_flight.c  ao_sample.c ao_kalman.c $(INCS)
36         cc $(CFLAGS) -o $@ -DHAS_ACCEL=0 $(TEST_SRC) $(TEST_LIB)
37
38 ao_flight_test_accel: $(TEST_SRC_ALL) ao_host.h ao_flight.c  ao_sample.c ao_kalman.c $(INCS)
39         cc $(CFLAGS) -o $@ -DFORCE_ACCEL=1 $(TEST_SRC) $(TEST_LIB)
40
41 ao_flight_test_mm: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c ao_pyro.c ao_pyro.h $(INCS)
42         cc -DTELEMEGA=1 $(CFLAGS) -o $@ $(TEST_SRC)  $(TEST_LIB) -lm
43
44 ao_flight_test_metrum: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c ao_pyro.c ao_pyro.h $(INCS)
45         cc -DTELEMETRUM_V2=1 $(CFLAGS) -o $@ $(TEST_SRC)  $(TEST_LIB) -lm
46
47 ao_flight_test_mini: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c ao_pyro.c ao_pyro.h $(INCS)
48         cc -DEASYMINI=1 -DHAS_ACCEL=0 $(CFLAGS) -o $@ $(TEST_SRC)  $(TEST_LIB) -lm
49
50 ao_make_fake_mm: $(FAKE_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c ao_pyro.c ao_pyro.h $(INCS)
51         cc -DTELEMEGA=1 $(CFLAGS) -o $@ $(FAKE_SRC) $(FAKE_LIB) -lm
52
53 ao_gps_test: ao_gps_test.c ao_gps_sirf.c ao_gps_print.c ao_host.h
54         cc $(CFLAGS) -o $@ $<
55
56 ao_gps_test_skytraq: ao_gps_test_skytraq.c ao_gps_skytraq.c ao_gps_print.c ao_gps_show.c ao_host.h
57         cc $(CFLAGS) -o $@ $<
58
59 ao_gps_test_ublox: ao_gps_test_ublox.c ao_gps_ublox.c ao_gps_print.c ao_gps_show.c ao_host.h ao_gps_ublox.h
60         cc $(CFLAGS) -o $@ $<
61
62 ao_convert_test: ao_convert_test.c ao_convert.c altitude.h
63         cc $(CFLAGS) -o $@ $<
64
65 ao_convert_pa_test: ao_convert_pa_test.c ao_convert_pa.c altitude-pa.h
66         cc $(CFLAGS) -o $@ $<
67
68 ao_kalman.h: $(KALMAN)
69         (cd .. && make ao_kalman.h)
70
71 ao_fec_test: ao_fec_test.c ao_fec_tx.c ao_fec_rx.c
72         cc $(CFLAGS) -DAO_FEC_DEBUG=1 -o $@ ao_fec_test.c ../kernel/ao_fec_tx.c ../kernel/ao_fec_rx.c -lm
73
74 ao_aprs_test: ao_aprs_test.c ao_aprs.c
75         cc $(CFLAGS) -o $@ ao_aprs_test.c -lm
76
77 SOX_INPUT_ARGS=--type raw --encoding unsigned-integer -b 8 -c 1 -r 9600
78 SOX_OUTPUT_ARGS=--type wav
79
80 ao_aprs_data.wav: ao_aprs_test
81         ./ao_aprs_test | sox $(SOX_INPUT_ARGS) - $(SOX_OUTPUT_ARGS) $@
82
83 check: ao_fec_test ao_flight_test ao_flight_test_baro run-tests
84         ./ao_fec_test && ./run-tests
85
86 ao_micropeak_test: ao_micropeak_test.c ao_microflight.c ao_kalman.h
87         cc $(CFLAGS) -o $@ ao_micropeak_test.c -lm
88
89 ao_fat_test: ao_fat_test.c ao_fat.c ao_bufio.c
90         cc $(CFLAGS) -o $@ ao_fat_test.c -lssl -lcrypto
91
92 ao_aes_test: ao_aes_test.c ao_aes.c ao_aes_tables.c
93         cc $(CFLAGS) -o $@ ao_aes_test.c
94
95 ao_int64_test: ao_int64_test.c ao_int64.c ao_int64.h
96         cc $(CFLAGS) -o $@ ao_int64_test.c
97
98 ao_ms5607_convert_test: ao_ms5607_convert_test.c ao_ms5607_convert_8051.c ao_int64.c ao_int64.h
99         cc $(CFLAGS) -o $@ ao_ms5607_convert_test.c
100
101 ao_quaternion_test: ao_quaternion_test.c ao_quaternion.h
102         cc $(CFLAGS) -o $@ ao_quaternion_test.c -lm
103
104 AO_LISP_OBJS = ao_lisp_test.o ao_lisp_mem.o  ao_lisp_cons.o ao_lisp_string.o \
105         ao_lisp_atom.o ao_lisp_int.o ao_lisp_eval.o ao_lisp_poly.o \
106         ao_lisp_builtin.o ao_lisp_read.o ao_lisp_rep.o ao_lisp_frame.o \
107         ao_lisp_lambda.o ao_lisp_error.o ao_lisp_save.o ao_lisp_stack.o
108
109 ao_lisp_test: $(AO_LISP_OBJS)
110         cc $(CFLAGS) -o $@ $(AO_LISP_OBJS)
111
112 $(AO_LISP_OBJS): ao_lisp.h ao_lisp_const.h ao_lisp_os.h