LIB_TESTS_L = get_mem_rsv \
	root_node find_property subnode_offset path_offset \
	get_name getprop get_prop_offset get_phandle \
	get_path supernode_atdepth_offset parent_offset \
	node_offset_by_prop_value node_offset_by_phandle \
	node_check_compatible node_offset_by_compatible \
	get_alias get_next_tag_invalid_prop_len \
	char_literal \
	sized_cells \
	notfound \
	addr_size_cells \
	addr_size_cells2 \
	appendprop_addrrange \
	stringlist \
	setprop_inplace nop_property nop_node \
	sw_tree1 sw_states \
	move_and_save mangle-layout nopulate \
	open_pack rw_tree1 rw_oom set_name setprop del_property del_node \
	appendprop1 appendprop2 propname_escapes \
	string_escapes references path-references phandle_format \
	boot-cpuid incbin relref_merge \
	extra-terminating-null \
	dtbs_equal_ordered \
	dtb_reverse dtbs_equal_unordered \
	add_subnode_with_nops path_offset_aliases \
	utilfdt_test \
	integer-expressions \
	property_iterate \
	subnode_iterate \
	overlay overlay_bad_fixup \
	check_path check_header check_full \
	fs_tree1
LIB_TESTS = $(LIB_TESTS_L:%=$(TESTS_PREFIX)%)

LIBTREE_TESTS_L = truncated_property truncated_string truncated_memrsv

LIBTREE_TESTS = $(LIBTREE_TESTS_L:%=$(TESTS_PREFIX)%)

ifneq ($(STATIC_BUILD),1)
	DL_LIB_TESTS_L = asm_tree_dump value-labels
	DL_LIB_TESTS = $(DL_LIB_TESTS_L:%=$(TESTS_PREFIX)%)
endif

TESTS = $(LIB_TESTS) $(LIBTREE_TESTS) $(DL_LIB_TESTS)

TESTS_TREES_L = test_tree1.dtb bad_node_char.dtb bad_node_format.dtb \
	bad_prop_char.dtb ovf_size_strings.dtb truncated_property.dtb \
	truncated_string.dtb truncated_memrsv.dtb two_roots.dtb named_root.dtb
TESTS_TREES = $(TESTS_TREES_L:%=$(TESTS_PREFIX)%)

TESTS_TARGETS = $(TESTS) $(TESTS_TREES)

TESTS_DEPFILES = $(TESTS:%=%.d) \
	$(addprefix $(TESTS_PREFIX),testutils.d trees.d dumptrees.d)

TESTS_CLEANFILES_L = $(STD_CLEANFILES) \
	*.dtb *.test.dts *.test.dt.yaml *.dtsv1 tmp.* *.bak \
	dumptrees
TESTS_CLEANFILES = $(TESTS) $(TESTS_CLEANFILES_L:%=$(TESTS_PREFIX)%)
TESTS_CLEANDIRS_L = fs
TESTS_CLEANDIRS = $(TESTS_CLEANDIRS_L:%=$(TESTS_PREFIX)%)

.PHONY: tests
tests:	$(TESTS) $(TESTS_TREES)

$(LIB_TESTS): %: $(TESTS_PREFIX)testutils.o util.o $(LIBFDT_dep)

# Not necessary on all platforms; allow -ldl to be excluded instead of forcing
# other platforms to patch it out.
LIBDL = -ldl
$(DL_LIB_TESTS): %: %.o $(TESTS_PREFIX)testutils.o util.o $(LIBFDT_dep)
	@$(VECHO) LD [libdl] $@
	$(LINK.c) -o $@ $^ $(LIBDL)

$(LIBTREE_TESTS): %: $(TESTS_PREFIX)testutils.o $(TESTS_PREFIX)trees.o \
		util.o $(LIBFDT_dep)

$(TESTS_PREFIX)dumptrees: $(TESTS_PREFIX)trees.o

$(TESTS_TREES): $(TESTS_PREFIX)dumptrees
	@$(VECHO) DUMPTREES
	cd $(TESTS_PREFIX); ./dumptrees . >/dev/null

tests_clean:
	@$(VECHO) CLEAN "(tests)"
	rm -f $(TESTS_CLEANFILES)
	rm -rf $(TESTS_CLEANDIRS)

check:	tests ${TESTS_BIN} $(TESTS_PYLIBFDT)
	cd $(TESTS_PREFIX); ./run_tests.sh

ifeq ($(NO_VALGRIND),1)
checkm:
	@echo "make checkm requires valgrind, but NO_VALGRIND=1"
else
checkm: tests ${TESTS_BIN} $(TESTS_PYLIBFDT)
	cd $(TESTS_PREFIX); ./run_tests.sh -m
endif

checkv:	tests ${TESTS_BIN} $(TESTS_PYLIBFDT)
	cd $(TESTS_PREFIX); ./run_tests.sh -v

ifneq ($(DEPTARGETS),)
-include $(TESTS_DEPFILES)
endif
