summaryrefslogtreecommitdiffstats
path: root/kexec/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'kexec/Makefile')
-rw-r--r--kexec/Makefile126
1 files changed, 126 insertions, 0 deletions
diff --git a/kexec/Makefile b/kexec/Makefile
new file mode 100644
index 0000000..11682bf
--- /dev/null
+++ b/kexec/Makefile
@@ -0,0 +1,126 @@
+#
+# kexec (linux booting linux)
+#
+PURGATORY_HEX_C = kexec/purgatory.c
+
+$(PURGATORY_HEX_C): $(PURGATORY) $(BIN_TO_HEX)
+ $(MKDIR) -p $(@D)
+ $(BIN_TO_HEX) purgatory < $(PURGATORY) > $@
+
+KEXEC_SRCS = $(KEXEC_SRCS_base)
+KEXEC_GENERATED_SRCS =
+
+KEXEC_SRCS_base += kexec/kexec.c
+KEXEC_SRCS_base += kexec/ifdown.c
+KEXEC_SRCS_base += kexec/kexec-elf.c
+KEXEC_SRCS_base += kexec/kexec-elf-exec.c
+KEXEC_SRCS_base += kexec/kexec-elf-core.c
+KEXEC_SRCS_base += kexec/kexec-elf-rel.c
+KEXEC_SRCS_base += kexec/kexec-elf-boot.c
+KEXEC_SRCS_base += kexec/kexec-pe-zboot.c
+KEXEC_SRCS_base += kexec/kexec-iomem.c
+KEXEC_SRCS_base += kexec/firmware_memmap.c
+KEXEC_SRCS_base += kexec/crashdump.c
+KEXEC_SRCS_base += kexec/crashdump-xen.c
+KEXEC_SRCS_base += kexec/phys_arch.c
+KEXEC_SRCS_base += kexec/lzma.c
+KEXEC_SRCS_base += kexec/zlib.c
+KEXEC_SRCS_base += kexec/kexec-xen.c
+KEXEC_SRCS_base += kexec/symbols.c
+
+KEXEC_GENERATED_SRCS += $(PURGATORY_HEX_C)
+
+dist += kexec/Makefile \
+ $(KEXEC_SRCS_base) kexec/crashdump-elf.c \
+ kexec/crashdump.h kexec/firmware_memmap.h \
+ kexec/kexec-elf-boot.h \
+ kexec/kexec-elf.h kexec/kexec-sha256.h \
+ kexec/kexec-zlib.h kexec/kexec-lzma.h \
+ kexec/kexec-xen.h \
+ kexec/kexec-syscall.h kexec/kexec.h kexec/kexec.8
+
+dist += kexec/proc_iomem.c
+$(ARCH)_PROC_IOMEM = kexec/proc_iomem.c
+KEXEC_SRCS += $($(ARCH)_PROC_IOMEM)
+
+dist += kexec/virt_to_phys.c
+$(ARCH)_VIRT_TO_PHYS = kexec/virt_to_phys.c
+KEXEC_SRCS += $($(ARCH)_VIRT_TO_PHYS)
+
+dist += kexec/phys_to_virt.c
+$(ARCH)_PHYS_TO_VIRT = kexec/phys_to_virt.c
+KEXEC_SRCS += $($(ARCH)_PHYS_TO_VIRT)
+
+dist += kexec/add_segment.c
+$(ARCH)_ADD_SEGMENT = kexec/add_segment.c
+KEXEC_SRCS += $($(ARCH)_ADD_SEGMENT)
+
+dist += kexec/add_buffer.c
+$(ARCH)_ADD_BUFFER = kexec/add_buffer.c
+KEXEC_SRCS += $($(ARCH)_ADD_BUFFER)
+
+dist += kexec/arch_reuse_initrd.c
+$(ARCH)_ARCH_REUSE_INITRD = kexec/arch_reuse_initrd.c
+KEXEC_SRCS += $($(ARCH)_ARCH_REUSE_INITRD)
+
+dist += kexec/kexec-uImage.c
+$(ARCH)_UIMAGE =
+KEXEC_SRCS += $($(ARCH)_UIMAGE)
+
+dist += kexec/fs2dt.c kexec/fs2dt.h
+$(ARCH)_FS2DT =
+KEXEC_SRCS += $($(ARCH)_FS2DT)
+
+dist += kexec/mem_regions.c kexec/mem_regions.h
+$(ARCH)_MEM_REGIONS =
+KEXEC_SRCS += $($(ARCH)_MEM_REGIONS)
+
+dist += kexec/dt-ops.c kexec/dt-ops.h
+$(ARCH)_DT_OPS =
+KEXEC_SRCS += $($(ARCH)_DT_OPS)
+
+include $(srcdir)/kexec/arch/alpha/Makefile
+include $(srcdir)/kexec/arch/arm/Makefile
+include $(srcdir)/kexec/arch/arm64/Makefile
+include $(srcdir)/kexec/arch/i386/Makefile
+include $(srcdir)/kexec/arch/ia64/Makefile
+include $(srcdir)/kexec/arch/m68k/Makefile
+include $(srcdir)/kexec/arch/mips/Makefile
+include $(srcdir)/kexec/arch/cris/Makefile
+include $(srcdir)/kexec/arch/ppc/Makefile
+include $(srcdir)/kexec/arch/ppc64/Makefile
+include $(srcdir)/kexec/arch/s390/Makefile
+include $(srcdir)/kexec/arch/sh/Makefile
+include $(srcdir)/kexec/arch/x86_64/Makefile
+include $(srcdir)/kexec/arch/hppa/Makefile
+include $(srcdir)/kexec/arch/loongarch/Makefile
+
+KEXEC_SRCS += $($(ARCH)_KEXEC_SRCS)
+
+KEXEC_OBJS = $(call objify, $(KEXEC_SRCS) $(KEXEC_GENERATED_SRCS))
+KEXEC_DEPS = $(call depify, $(KEXEC_OBJS))
+
+clean += $(KEXEC_OBJS) $(KEXEC_DEPS) $(KEXEC_GENERATED_SRCS) \
+ $(KEXEC) $(KEXEC_MANPAGE)
+
+KEXEC = $(SBINDIR)/kexec
+KEXEC_MANPAGE = $(MANDIR)/man8/kexec.8
+
+-include $(KEXEC_DEPS)
+
+$(KEXEC): $(KEXEC_OBJS) $(UTIL_LIB)
+ @$(MKDIR) -p $(@D)
+ $(LINK.o) -o $@ $^ $(CFLAGS) $(LIBS)
+
+$(KEXEC): CPPFLAGS+=-I$(srcdir)/kexec/arch/$(ARCH)/include
+
+kexec/fs2dt.o: CPPFLAGS+=$($(ARCH)_FS2DT_INCLUDE)
+
+$(KEXEC_MANPAGE): kexec/kexec.8
+ @$(MKDIR) -p $(MANDIR)/man8
+ cp $^ $(KEXEC_MANPAGE)
+echo::
+ @echo "KEXEC_SRCS $(KEXEC_SRCS)"
+ @echo "KEXEC_DEPS $(KEXEC_DEPS)"
+ @echo "KEXEC_OBJS $(KEXEC_OBJS)"
+