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	$(call Q, TEST , $(VALGRIND) hdata/test/hdata_to_dt -9 -s -q hdata/test/p8-840-spira.spirah hdata/test/op920.wsp.heap, $<)
23
24hdata/test/hdata_to_dt-check-dt: hdata/test/hdata_to_dt
25	$(call Q, TEST , $(VALGRIND) hdata/test/hdata_to_dt -8E hdata/test/p81-811.spira hdata/test/p81-811.spira.heap 2>/dev/null | hdata/test/dtdiff_wrap.sh hdata/test/p81-811.spira.dts, $< device-tree)
26	$(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 | hdata/test/dtdiff_wrap.sh hdata/test/p8-840-spira.dts, $< device-tree)
27	$(call Q, TEST , $(VALGRIND) hdata/test/hdata_to_dt -9 -s hdata/test/p8-840-spira.spirah hdata/test/op920.wsp.heap 2>/dev/null | hdata/test/dtdiff_wrap.sh hdata/test/op920.wsp.dts, $< device-tree)
28
29hdata/test/hdata_to_dt-gcov-run: hdata/test/hdata_to_dt-check-dt-gcov-run
30
31hdata/test/hdata_to_dt-check-dt-gcov-run: hdata/test/hdata_to_dt-gcov
32	$(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 | hdata/test/dtdiff_wrap.sh hdata/test/p81-811.spira.dts, $< device-tree)
33	$(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 | hdata/test/dtdiff_wrap.sh hdata/test/p8-840-spira.dts, $< device-tree)
34	$(call Q, TEST-COVERAGE , ./hdata/test/hdata_to_dt -9 -s hdata/test/p8-840-spira.spirah hdata/test/op920.wsp.heap 2>/dev/null | hdata/test/dtdiff_wrap.sh hdata/test/op920.wsp.dts, $< device-tree)
35
36hdata/test/stubs.o: hdata/test/stubs.c
37	$(call Q, HOSTCC , $(HOSTCC) $(HOSTCFLAGS) -g -c -o $@ $<, $<)
38
39$(HDATA_TEST) : hdata/test/stubs.o
40
41$(CORE_TEST:%=%-gcov): hdata/test/stubs.o
42
43$(HDATA_TEST) : % : %.c
44	$(call Q, HOSTCC , $(HOSTCC) $(HOSTCFLAGS) -DTEST -O0 -g -I hdata -I include -I . -I libfdt -o $@ $< hdata/test/stubs.o, $<)
45
46$(HDATA_TEST:%=%-gcov): %-gcov : %.c %
47	$(call Q, HOSTCC ,$(HOSTCC) $(HOSTCFLAGS) $(HOSTGCOVCFLAGS) -DTEST -I include -I . -I data -I libfdt -lgcov -o $@ $< hdata/test/stubs.o, $<)
48
49-include $(wildcard hdata/test/*.d)
50
51clean: hdata-test-clean
52
53hdata-test-clean:
54	$(RM) hdata/test/*.[od] hdata/test/hdata_to_dt
55	$(RM) $(HDATA_TEST) $(HDATA_TEST:%=%-gcov)
56