diff options
author | Will Deacon <will.deacon@arm.com> | 2013-05-01 16:50:06 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-06-01 16:39:54 +0100 |
commit | 1d716fa6dff0b0b747177375d28370f8a248afc5 (patch) | |
tree | 544b50ab7b8a64e33b4f6bbba9d22443c26bd005 /Makefile | |
parent | 76f073fcf862a709e9827b2d91a815bd407aa92a (diff) | |
download | kvmtool-1d716fa6dff0b0b747177375d28370f8a248afc5.tar.gz |
kvm tools: makefile: factor out libfdt inclusion
libfdt is used by powerpc, arm and arm64.
This patch factors out the Makefile parts including it and defines a
CONFIG_HAS_LIBFDT, so architecture-portable code can make use of fdt
if it is available.
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 31 |
1 files changed, 19 insertions, 12 deletions
@@ -114,9 +114,6 @@ ifeq ($(ARCH),x86_64) DEFINES += -DCONFIG_X86_64 endif -LIBFDT_SRC = fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o -LIBFDT_OBJS = $(patsubst %,../../scripts/dtc/libfdt/%,$(LIBFDT_SRC)) - ### Arch-specific stuff #x86 @@ -150,12 +147,10 @@ ifeq ($(ARCH), powerpc) OBJS += powerpc/spapr_hvcons.o OBJS += powerpc/spapr_pci.o OBJS += powerpc/xics.o -# We use libfdt, but it's sometimes not packaged 64bit. It's small too, -# so just build it in: - CFLAGS += -I../../scripts/dtc/libfdt - OTHEROBJS += $(LIBFDT_OBJS) ARCH_INCLUDE := powerpc/include CFLAGS += -m64 + + ARCH_WANT_LIBFDT := y endif # ARM @@ -170,8 +165,8 @@ ifeq ($(ARCH), arm) ARCH_INCLUDE := $(HDRS_ARM_COMMON) ARCH_INCLUDE += -Iarm/aarch32/include CFLAGS += -march=armv7-a - CFLAGS += -I../../scripts/dtc/libfdt - OTHEROBJS += $(LIBFDT_OBJS) + + ARCH_WANT_LIBFDT := y endif # ARM64 @@ -182,8 +177,8 @@ ifeq ($(ARCH), arm64) OBJS += arm/aarch64/kvm-cpu.o ARCH_INCLUDE := $(HDRS_ARM_COMMON) ARCH_INCLUDE += -Iarm/aarch64/include - CFLAGS += -I../../scripts/dtc/libfdt - OTHEROBJS += $(LIBFDT_OBJS) + + ARCH_WANT_LIBFDT := y endif ### @@ -196,6 +191,18 @@ endif ### +# libfdt support + +LIBFDT_SRC = fdt.o fdt_ro.o fdt_wip.o fdt_sw.o fdt_rw.o fdt_strerror.o +LIBFDT_OBJS = $(patsubst %,../../scripts/dtc/libfdt/%,$(LIBFDT_SRC)) + +ifeq (y,$(ARCH_WANT_LIBFDT)) + DEFINES += -DCONFIG_HAS_LIBFDT + OTHEROBJS += $(LIBFDT_OBJS) +endif + +### + # Detect optional features. # On a given system, some libs may link statically, some may not; so, check # both and only build those that link! @@ -285,7 +292,7 @@ DEFINES += -DKVMTOOLS_VERSION='"$(KVMTOOLS_VERSION)"' DEFINES += -DBUILD_ARCH='"$(ARCH)"' KVM_INCLUDE := include -CFLAGS += $(CPPFLAGS) $(DEFINES) -I$(KVM_INCLUDE) -I$(ARCH_INCLUDE) -I$(KINCL_PATH)/include/uapi -I$(KINCL_PATH)/include -I$(KINCL_PATH)/arch/$(ARCH)/include/uapi -I$(KINCL_PATH)/arch/$(ARCH)/include/ -O2 -fno-strict-aliasing -g +CFLAGS += $(CPPFLAGS) $(DEFINES) -I$(KVM_INCLUDE) -I$(ARCH_INCLUDE) -I$(KINCL_PATH)/include/uapi -I$(KINCL_PATH)/include -I$(KINCL_PATH)/arch/$(ARCH)/include/uapi -I$(KINCL_PATH)/arch/$(ARCH)/include/ -I$(KINCL_PATH)/scripts/dtc/libfdt -O2 -fno-strict-aliasing -g WARNINGS += -Wall WARNINGS += -Wformat=2 |