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