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 \
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
14 FAKE_SRC_ALL=ao_make_fake.c ao_eeprom_read.c ao_eeprom_read_old.c
15 FAKE_SRC=ao_make_fake.c
20 CFLAGS=-I.. -I. -I../kernel -I../drivers -I../micropeak -I../product -I../lisp -O0 -g -Wall -DAO_LISP_TEST -no-pie
22 all: $(PROGS) ao_aprs_data.wav
25 rm -f $(PROGS) ao_aprs_data.wav run-out.baro run-out.full
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)
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)
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)
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)
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
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
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
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
53 ao_gps_test: ao_gps_test.c ao_gps_sirf.c ao_gps_print.c ao_host.h
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
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
62 ao_convert_test: ao_convert_test.c ao_convert.c altitude.h
65 ao_convert_pa_test: ao_convert_pa_test.c ao_convert_pa.c altitude-pa.h
68 ao_kalman.h: $(KALMAN)
69 (cd .. && make ao_kalman.h)
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
74 ao_aprs_test: ao_aprs_test.c ao_aprs.c
75 cc $(CFLAGS) -o $@ ao_aprs_test.c -lm
77 SOX_INPUT_ARGS=--type raw --encoding unsigned-integer -b 8 -c 1 -r 9600
78 SOX_OUTPUT_ARGS=--type wav
80 ao_aprs_data.wav: ao_aprs_test
81 ./ao_aprs_test | sox $(SOX_INPUT_ARGS) - $(SOX_OUTPUT_ARGS) $@
83 check: ao_fec_test ao_flight_test ao_flight_test_baro run-tests
84 ./ao_fec_test && ./run-tests
86 ao_micropeak_test: ao_micropeak_test.c ao_microflight.c ao_kalman.h
87 cc $(CFLAGS) -o $@ ao_micropeak_test.c -lm
89 ao_fat_test: ao_fat_test.c ao_fat.c ao_bufio.c
90 cc $(CFLAGS) -o $@ ao_fat_test.c -lssl -lcrypto
92 ao_aes_test: ao_aes_test.c ao_aes.c ao_aes_tables.c
93 cc $(CFLAGS) -o $@ ao_aes_test.c
95 ao_int64_test: ao_int64_test.c ao_int64.c ao_int64.h
96 cc $(CFLAGS) -o $@ ao_int64_test.c
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
101 ao_quaternion_test: ao_quaternion_test.c ao_quaternion.h
102 cc $(CFLAGS) -o $@ ao_quaternion_test.c -lm
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
109 ao_lisp_test: $(AO_LISP_OBJS)
110 cc $(CFLAGS) -o $@ $(AO_LISP_OBJS)
112 $(AO_LISP_OBJS): ao_lisp.h ao_lisp_const.h ao_lisp_os.h