1 vpath % ..:../kernel:../drivers:../util:../micropeak:../aes:../product:../lisp
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
9 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
10 TEST_SRC=ao_flight_test.c
11 TEST_SRC_ALL=ao_flight_test.c ao_eeprom_read.c ao_eeprom_read_old.c
16 CFLAGS=-I.. -I. -I../kernel -I../drivers -I../micropeak -I../product -I../lisp -O0 -g -Wall -DAO_LISP_TEST -no-pie
18 all: $(PROGS) ao_aprs_data.wav
21 rm -f $(PROGS) ao_aprs_data.wav run-out.baro run-out.full
25 ao_flight_test: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c altitude.h $(INCS)
26 cc $(CFLAGS) -o $@ $(TEST_SRC) $(TEST_LIB)
28 ao_flight_test_noisy_accel: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c $(INCS)
29 cc -DNOISY_ACCEL=1 $(CFLAGS) -o $@ $(TEST_SRC) $(TEST_LIB)
31 ao_flight_test_baro: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c $(INCS)
32 cc $(CFLAGS) -o $@ -DHAS_ACCEL=0 $(TEST_SRC) $(TEST_LIB)
34 ao_flight_test_accel: $(TEST_SRC_ALL) ao_host.h ao_flight.c ao_sample.c ao_kalman.c $(INCS)
35 cc $(CFLAGS) -o $@ -DFORCE_ACCEL=1 $(TEST_SRC) $(TEST_LIB)
37 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)
38 cc -DTELEMEGA=1 $(CFLAGS) -o $@ $(TEST_SRC) $(TEST_LIB) -lm
40 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)
41 cc -DTELEMETRUM_V2=1 $(CFLAGS) -o $@ $(TEST_SRC) $(TEST_LIB) -lm
43 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)
44 cc -DEASYMINI=1 -DHAS_ACCEL=0 $(CFLAGS) -o $@ $(TEST_SRC) $(TEST_LIB) -lm
46 ao_gps_test: ao_gps_test.c ao_gps_sirf.c ao_gps_print.c ao_host.h
49 ao_gps_test_skytraq: ao_gps_test_skytraq.c ao_gps_skytraq.c ao_gps_print.c ao_gps_show.c ao_host.h
52 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
55 ao_convert_test: ao_convert_test.c ao_convert.c altitude.h
58 ao_convert_pa_test: ao_convert_pa_test.c ao_convert_pa.c altitude-pa.h
61 ao_kalman.h: $(KALMAN)
62 (cd .. && make ao_kalman.h)
64 ao_fec_test: ao_fec_test.c ao_fec_tx.c ao_fec_rx.c
65 cc $(CFLAGS) -DAO_FEC_DEBUG=1 -o $@ ao_fec_test.c ../kernel/ao_fec_tx.c ../kernel/ao_fec_rx.c -lm
67 ao_aprs_test: ao_aprs_test.c ao_aprs.c
68 cc $(CFLAGS) -o $@ ao_aprs_test.c -lm
70 SOX_INPUT_ARGS=--type raw --encoding unsigned-integer -b 8 -c 1 -r 9600
71 SOX_OUTPUT_ARGS=--type wav
73 ao_aprs_data.wav: ao_aprs_test
74 ./ao_aprs_test | sox $(SOX_INPUT_ARGS) - $(SOX_OUTPUT_ARGS) $@
76 check: ao_fec_test ao_flight_test ao_flight_test_baro run-tests
77 ./ao_fec_test && ./run-tests
79 ao_micropeak_test: ao_micropeak_test.c ao_microflight.c ao_kalman.h
80 cc $(CFLAGS) -o $@ ao_micropeak_test.c -lm
82 ao_fat_test: ao_fat_test.c ao_fat.c ao_bufio.c
83 cc $(CFLAGS) -o $@ ao_fat_test.c -lssl -lcrypto
85 ao_aes_test: ao_aes_test.c ao_aes.c ao_aes_tables.c
86 cc $(CFLAGS) -o $@ ao_aes_test.c
88 ao_int64_test: ao_int64_test.c ao_int64.c ao_int64.h
89 cc $(CFLAGS) -o $@ ao_int64_test.c
91 ao_ms5607_convert_test: ao_ms5607_convert_test.c ao_ms5607_convert_8051.c ao_int64.c ao_int64.h
92 cc $(CFLAGS) -o $@ ao_ms5607_convert_test.c
94 ao_quaternion_test: ao_quaternion_test.c ao_quaternion.h
95 cc $(CFLAGS) -o $@ ao_quaternion_test.c -lm
97 AO_LISP_OBJS = ao_lisp_test.o ao_lisp_mem.o ao_lisp_cons.o ao_lisp_string.o \
98 ao_lisp_atom.o ao_lisp_int.o ao_lisp_eval.o ao_lisp_poly.o \
99 ao_lisp_builtin.o ao_lisp_read.o ao_lisp_rep.o ao_lisp_frame.o \
100 ao_lisp_lambda.o ao_lisp_error.o ao_lisp_save.o ao_lisp_stack.o
102 ao_lisp_test: $(AO_LISP_OBJS)
103 cc $(CFLAGS) -o $@ $(AO_LISP_OBJS)
105 $(AO_LISP_OBJS): ao_lisp.h ao_lisp_const.h ao_lisp_os.h