2 # Jailhouse, a Linux-based partitioning hypervisor
4 # Copyright (c) Siemens AG, 2013, 2014
7 # Jan Kiszka <jan.kiszka@siemens.com>
9 # This work is licensed under the terms of the GNU GPL, version 2. See
10 # the COPYING file in the top-level directory.
15 define DECLARE_TARGETS =
17 always := $$(_TARGETS)
18 # $(NAME-y) NAME-linked.o NAME.bin
19 targets += $$(foreach t,$$(_TARGETS:.bin=-y),$$($$t)) \
20 $$(_TARGETS:.bin=-linked.o) $$(_TARGETS)
23 # prevent deleting intermediate files which would cause rebuilds
24 .SECONDARY: $(addprefix $(obj)/,$(targets))
26 # obj/NAME-linked.o: ... obj/$(NAME-y) lib/lib[32].a
28 $(obj)/%-linked.o: $(INMATES_LIB)/inmate.lds $$(addprefix $$(obj)/,$$($$*-y)) \
29 $(INMATES_LIB)/$$(if $$($$*_32),lib32.a,lib.a)
32 $(obj)/%.bin: $(obj)/%-linked.o
33 $(call if_changed,objcopy)
35 # 32-bit (i386) support
36 define DECLARE_32_BIT =
38 LDFLAGS_$(1)-linked.o := /dev/null -m elf_i386 -T