1# -*-Makefile-*-
2
3HDATA_TEST := hdata/test/hdata_to_dt
4
5.PHONY : hdata-check hdata-coverage
6hdata-check: $(HDATA_TEST:%=%-check)
7hdata-coverage: $(HDATA_TEST:%=%-gcov-run)
8
9check: hdata-check hdata-coverage
10coverage: hdata-coverage
11
12LCOV_EXCLUDE += $(HDATA_TEST:%=%.c) hdata/test/stubs.c
13LCOV_EXCLUDE += /usr/include/valgrind/memcheck.h
14
15hdata/test/hdata_to_dt-check: hdata/test/hdata_to_dt-check-q
16hdata/test/hdata_to_dt-check: hdata/test/hdata_to_dt-check-dt
17
18# Add some test ntuples for open source version...
19hdata/test/hdata_to_dt-check-q: hdata/test/hdata_to_dt
20	$(call Q, TEST , $(VALGRIND) hdata/test/hdata_to_dt -8E -q hdata/test/p81-811.spira hdata/test/p81-811.spira.heap, $<)
21	$(call Q, TEST , $(VALGRIND) hdata/test/hdata_to_dt -8E -s -q hdata/test/p8-840-spira.spirah hdata/test/p8-840-spira.spiras, $<)
22
23hdata/test/hdata_to_dt-check-dt: hdata/test/hdata_to_dt
24	$(call Q, TEST , $(VALGRIND) hdata/test/hdata_to_dt -8E hdata/test/p81-811.spira hdata/test/p81-811.spira.heap 2>/dev/null |dtc -I dtb -O dts |diff -u hdata/test/p81-811.spira.dts -, $< device-tree)
25	$(call Q, TEST , $(VALGRIND) hdata/test/hdata_to_dt -8E -s hdata/test/p8-840-spira.spirah hdata/test/p8-840-spira.spiras 2>/dev/null |dtc -I dtb -O dts |diff -u hdata/test/p8-840-spira.dts -, $< device-tree)
26
27hdata/test/hdata_to_dt-gcov-run: hdata/test/hdata_to_dt-check-dt-gcov-run
28
29hdata/test/hdata_to_dt-check-dt-gcov-run: hdata/test/hdata_to_dt-gcov
30	$(call Q, TEST-COVERAGE , ./hdata/test/hdata_to_dt-gcov -8E hdata/test/p81-811.spira hdata/test/p81-811.spira.heap 2>/dev/null |dtc -I dtb -O dts|diff -u hdata/test/p81-811.spira.dts -, $< device-tree)
31	$(call Q, TEST-COVERAGE , ./hdata/test/hdata_to_dt-gcov -8E -s hdata/test/p8-840-spira.spirah hdata/test/p8-840-spira.spiras 2>/dev/null |dtc -I dtb -O dts|diff -u hdata/test/p8-840-spira.dts -, $< device-tree)
32
33hdata/test/stubs.o: hdata/test/stubs.c
34	$(call Q, HOSTCC , $(HOSTCC) $(HOSTCFLAGS) -g -c -o $@ $<, $<)
35
36$(HDATA_TEST) : hdata/test/stubs.o
37
38$(CORE_TEST:%=%-gcov): hdata/test/stubs.o
39
40$(HDATA_TEST) : % : %.c
41	$(call Q, HOSTCC , $(HOSTCC) $(HOSTCFLAGS) -DTEST -O0 -g -I hdata -I include -I . -I libfdt -o $@ $< hdata/test/stubs.o, $<)
42
43$(HDATA_TEST:%=%-gcov): %-gcov : %.c %
44	$(call Q, HOSTCC ,$(HOSTCC) $(HOSTCFLAGS) $(HOSTGCOVCFLAGS) -DTEST -I include -I . -I data -I libfdt -lgcov -o $@ $< hdata/test/stubs.o, $<)
45
46-include $(wildcard hdata/test/*.d)
47
48clean: hdata-test-clean
49
50hdata-test-clean:
51	$(RM) hdata/test/*.[od] hdata/test/hdata_to_dt
52	$(RM) $(HDATA_TEST) $(HDATA_TEST:%=%-gcov)
53