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