2
# kexec (linux booting linux)
4
PURGATORY_HEX_C = kexec/purgatory.c
6
$(PURGATORY_HEX_C): $(PURGATORY) $(BIN_TO_HEX)
8
$(BIN_TO_HEX) purgatory < $(PURGATORY) > $@
11
KEXEC_GENERATED_SRCS =
13
KEXEC_SRCS += kexec/kexec.c
14
KEXEC_SRCS += kexec/ifdown.c
15
KEXEC_SRCS += kexec/kexec-elf.c
16
KEXEC_SRCS += kexec/kexec-elf-exec.c
17
KEXEC_SRCS += kexec/kexec-elf-core.c
18
KEXEC_SRCS += kexec/kexec-elf-rel.c
19
KEXEC_SRCS += kexec/kexec-elf-boot.c
20
KEXEC_SRCS += kexec/kexec-iomem.c
21
KEXEC_SRCS += kexec/firmware_memmap.c
22
KEXEC_SRCS += kexec/crashdump.c
23
KEXEC_SRCS += kexec/crashdump-xen.c
24
KEXEC_SRCS += kexec/phys_arch.c
25
KEXEC_SRCS += kexec/kernel_version.c
26
KEXEC_SRCS += kexec/lzma.c
27
KEXEC_SRCS += kexec/zlib.c
29
KEXEC_GENERATED_SRCS += $(PURGATORY_HEX_C)
31
dist += kexec/Makefile $(KEXEC_SRCS) $(KEXEC_GENERATED_SRCS) \
32
kexec/crashdump-elf.c \
33
kexec/crashdump.h kexec/firmware_memmap.h \
34
kexec/kexec-elf-boot.h \
35
kexec/kexec-elf.h kexec/kexec-sha256.h \
36
kexec/kexec-zlib.h kexec/kexec-lzma.h \
37
kexec/kexec-syscall.h kexec/kexec.h kexec/kexec.8
39
$(ARCH)_PROC_IOMEM = kexec/proc_iomem.c
40
KEXEC_SRCS += $($(ARCH)_PROC_IOMEM)
41
$(ARCH)_VIRT_TO_PHYS = kexec/virt_to_phys.c
42
KEXEC_SRCS += $($(ARCH)_VIRT_TO_PHYS)
43
$(ARCH)_PHYS_TO_VIRT = kexec/phys_to_virt.c
44
KEXEC_SRCS += $($(ARCH)_PHYS_TO_VIRT)
45
$(ARCH)_ADD_SEGMENT = kexec/add_segment.c
46
KEXEC_SRCS += $($(ARCH)_ADD_SEGMENT)
47
$(ARCH)_ADD_BUFFER = kexec/add_buffer.c
48
KEXEC_SRCS += $($(ARCH)_ADD_BUFFER)
49
$(ARCH)_ARCH_REUSE_INITRD = kexec/arch_reuse_initrd.c
50
KEXEC_SRCS += $($(ARCH)_ARCH_REUSE_INITRD)
52
include $(srcdir)/kexec/arch/alpha/Makefile
53
include $(srcdir)/kexec/arch/arm/Makefile
54
include $(srcdir)/kexec/arch/i386/Makefile
55
include $(srcdir)/kexec/arch/ia64/Makefile
56
include $(srcdir)/kexec/arch/mips/Makefile
57
include $(srcdir)/kexec/arch/cris/Makefile
58
include $(srcdir)/kexec/arch/ppc/Makefile
59
include $(srcdir)/kexec/arch/ppc64/Makefile
60
include $(srcdir)/kexec/arch/s390/Makefile
61
include $(srcdir)/kexec/arch/sh/Makefile
62
include $(srcdir)/kexec/arch/x86_64/Makefile
64
KEXEC_SRCS += $($(ARCH)_KEXEC_SRCS)
66
KEXEC_OBJS = $(call objify, $(KEXEC_SRCS) $(KEXEC_GENERATED_SRCS))
67
KEXEC_DEPS = $(call depify, $(KEXEC_OBJS))
69
clean += $(KEXEC_OBJS) $(KEXEC_DEPS) $(KEXEC_GENERATED_SRCS) \
70
$(KEXEC) $(KEXEC_MANPAGE)
72
KEXEC = $(SBINDIR)/kexec
73
KEXEC_MANPAGE = $(MANDIR)/man8/kexec.8
75
-include $(KEXEC_DEPS)
77
$(KEXEC): $(KEXEC_OBJS) $(UTIL_LIB)
79
$(LINK.o) -o $@ $^ $(CFLAGS) $(LIBS)
81
$(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include
83
$(KEXEC_MANPAGE): kexec/kexec.8
84
@$(MKDIR) -p $(MANDIR)/man8
85
cp kexec/kexec.8 $(KEXEC_MANPAGE)
87
@echo "KEXEC_SRCS $(KEXEC_SRCS)"
88
@echo "KEXEC_DEPS $(KEXEC_DEPS)"
89
@echo "KEXEC_OBJS $(KEXEC_OBJS)"