4d9d53095f134ac796f29a6ed626a965a4b63231
[lunaix-os.git] / lunaix-os / tests / units / device-tree / makefile
1 include test_build.mkinc
2
3 tests := $(shell cat tests.txt)
4
5 obj = dut/dt_interrupt.o \
6           dut/dt.o \
7           dut/dtspec.o \
8           dut/changeling.o \
9
10 dtbs := $(addprefix samples/,$(addsuffix .dtb,$(tests)))
11
12 tests := $(addsuffix .test,$(tests))
13 run_tests := $(addprefix run.,$(tests))
14
15 %.dtb: %.dts
16         $(call status,DTC,$^)
17         @dtc -q -I dts -O dtb $^ -o $@
18
19 .PHONY: all run clean
20
21 load.%.o:: load.c
22         $(call status,CC,$@)
23         @$(CC) $(CFLAGS) -DTEST_DTBFILE=\"samples/$*.dtb\" -c $^ -o $@
24
25 %.test: $(obj-shared) $(obj-stubs) $(obj) test-%.o load.%.o
26         $(call status,LD,$@)
27         @$(CC) $^ -o $@
28
29 run.%.test: %.test
30         $(call status,RUN,$^)
31         @./$^
32
33 all: $(dtbs) $(tests)
34
35 run: $(dtbs) $(tests) $(run_tests)
36
37 clean:
38         @rm -f *.o $(obj) $(test) $(dtbs)