hv:build virtual platform base to vp_base_mod.a

support compiling virtual platform base layer to
vp_base_mod.a

Tracked-On: #1842
Signed-off-by: Mingqiang Chi <mingqiang.chi@intel.com>
Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>

	modified:   Makefile
This commit is contained in:
Mingqiang Chi 2019-06-10 16:28:50 +08:00 committed by ACRN System Integration
parent 83e2a873b0
commit 4d646c0255
1 changed files with 28 additions and 22 deletions

View File

@ -23,6 +23,7 @@ SUB_MAKEFILES := $(wildcard */Makefile)
LIB_MOD = $(HV_MODDIR)/lib_mod.a LIB_MOD = $(HV_MODDIR)/lib_mod.a
BOOT_MOD = $(HV_MODDIR)/boot_mod.a BOOT_MOD = $(HV_MODDIR)/boot_mod.a
HW_MOD = $(HV_MODDIR)/hw_mod.a HW_MOD = $(HV_MODDIR)/hw_mod.a
VP_BASE_MOD = $(HV_MODDIR)/vp_base_mod.a
LIB_DEBUG = $(HV_MODDIR)/libdebug.a LIB_DEBUG = $(HV_MODDIR)/libdebug.a
LIB_RELEASE = $(HV_MODDIR)/librelease.a LIB_RELEASE = $(HV_MODDIR)/librelease.a
@ -217,6 +218,26 @@ HW_C_SRCS += boot/guest/vboot_wrapper.c
HW_C_SRCS += boot/guest/deprivilege_boot.c HW_C_SRCS += boot/guest/deprivilege_boot.c
HW_C_SRCS += boot/guest/direct_boot.c HW_C_SRCS += boot/guest/direct_boot.c
# virtual platform base component
VP_BASE_C_SRCS += arch/x86/guest/vcpuid.c
VP_BASE_C_SRCS += arch/x86/guest/vcpu.c
VP_BASE_C_SRCS += arch/x86/guest/vm.c
VP_BASE_C_SRCS += arch/x86/guest/vmtrr.c
VP_BASE_C_SRCS += arch/x86/guest/guest_memory.c
VP_BASE_C_SRCS += arch/x86/guest/vmsr.c
VP_BASE_S_SRCS += arch/x86/guest/vmx_asm.S
VP_BASE_C_SRCS += arch/x86/guest/vmcs.c
VP_BASE_C_SRCS += arch/x86/guest/virq.c
VP_BASE_C_SRCS += arch/x86/guest/virtual_cr.c
VP_BASE_C_SRCS += arch/x86/guest/vmexit.c
VP_BASE_C_SRCS += arch/x86/guest/ept.c
VP_BASE_C_SRCS += arch/x86/guest/ucode.c
VP_BASE_C_SRCS += boot/guest/vboot_info.c
VP_BASE_C_SRCS += common/hv_main.c
VP_BASE_C_SRCS += common/vm_load.c
VP_BASE_C_SRCS += arch/x86/configs/vmptable.c
VP_BASE_C_SRCS += arch/x86/configs/$(CONFIG_BOARD)/ve820.c
# initilization component # initilization component
C_SRCS += arch/x86/init.c C_SRCS += arch/x86/init.c
@ -224,36 +245,17 @@ C_SRCS += arch/x86/seed/seed.c
C_SRCS += arch/x86/seed/seed_abl.c C_SRCS += arch/x86/seed/seed_abl.c
C_SRCS += arch/x86/seed/seed_sbl.c C_SRCS += arch/x86/seed/seed_sbl.c
# configuration component
C_SRCS += arch/x86/configs/$(CONFIG_BOARD)/ve820.c
C_SRCS += boot/guest/vboot_info.c
C_SRCS += arch/x86/guest/vcpuid.c
C_SRCS += arch/x86/guest/vcpu.c
C_SRCS += arch/x86/guest/vm.c
C_SRCS += arch/x86/guest/vlapic.c C_SRCS += arch/x86/guest/vlapic.c
C_SRCS += arch/x86/guest/vmtrr.c
C_SRCS += arch/x86/guest/guest_memory.c
C_SRCS += arch/x86/guest/vmcall.c C_SRCS += arch/x86/guest/vmcall.c
C_SRCS += arch/x86/guest/vmsr.c
C_SRCS += arch/x86/guest/instr_emul.c C_SRCS += arch/x86/guest/instr_emul.c
C_SRCS += arch/x86/guest/ucode.c
C_SRCS += arch/x86/guest/pm.c C_SRCS += arch/x86/guest/pm.c
C_SRCS += arch/x86/guest/assign.c C_SRCS += arch/x86/guest/assign.c
C_SRCS += arch/x86/guest/ept.c
C_SRCS += arch/x86/guest/vmx_io.c C_SRCS += arch/x86/guest/vmx_io.c
C_SRCS += arch/x86/guest/virq.c
C_SRCS += arch/x86/guest/virtual_cr.c
C_SRCS += arch/x86/guest/vmcs.c
C_SRCS += arch/x86/guest/vmexit.c
S_SRCS += arch/x86/guest/vmx_asm.S
C_SRCS += arch/x86/guest/trusty.c C_SRCS += arch/x86/guest/trusty.c
C_SRCS += arch/x86/guest/vm_reset.c C_SRCS += arch/x86/guest/vm_reset.c
C_SRCS += common/hv_main.c
C_SRCS += common/hypercall.c C_SRCS += common/hypercall.c
C_SRCS += common/trusty_hypercall.c C_SRCS += common/trusty_hypercall.c
C_SRCS += common/vm_load.c
C_SRCS += common/ptdev.c C_SRCS += common/ptdev.c
C_SRCS += dm/vpic.c C_SRCS += dm/vpic.c
C_SRCS += dm/vrtc.c C_SRCS += dm/vrtc.c
@ -262,7 +264,6 @@ C_SRCS += dm/vuart.c
C_SRCS += dm/io_req.c C_SRCS += dm/io_req.c
C_SRCS += dm/vpci/vdev.c C_SRCS += dm/vpci/vdev.c
C_SRCS += dm/vpci/vpci.c C_SRCS += dm/vpci/vpci.c
C_SRCS += arch/x86/configs/vmptable.c
C_SRCS += dm/vpci/vhostbridge.c C_SRCS += dm/vpci/vhostbridge.c
C_SRCS += dm/vpci/pci_pt.c C_SRCS += dm/vpci/pci_pt.c
C_SRCS += dm/vpci/vmsi.c C_SRCS += dm/vpci/vmsi.c
@ -274,6 +275,8 @@ BOOT_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(BOOT_C_SRCS))
BOOT_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(BOOT_S_SRCS)) BOOT_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(BOOT_S_SRCS))
HW_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(HW_C_SRCS)) HW_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(HW_C_SRCS))
HW_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(HW_S_SRCS)) HW_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(HW_S_SRCS))
VP_BASE_C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(VP_BASE_C_SRCS))
VP_BASE_S_OBJS := $(patsubst %.S,$(HV_OBJDIR)/%.o,$(VP_BASE_S_SRCS))
C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(C_SRCS)) C_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(C_SRCS))
ifneq ($(CONFIG_RELEASE),y) ifneq ($(CONFIG_RELEASE),y)
CFLAGS += -DHV_DEBUG -DPROFILING_ON -fno-omit-frame-pointer CFLAGS += -DHV_DEBUG -DPROFILING_ON -fno-omit-frame-pointer
@ -285,10 +288,12 @@ PRE_BUILD_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(PRE_BUILD_SRCS))
MOD_DEPS += lib-mod MOD_DEPS += lib-mod
MOD_DEPS += boot-mod MOD_DEPS += boot-mod
MOD_DEPS += hw-mod MOD_DEPS += hw-mod
MOD_DEPS += vp-base-mod
MOD_DEPS += lib MOD_DEPS += lib
MODULES += $(LIB_MOD) MODULES += $(LIB_MOD)
MODULES += $(BOOT_MOD) MODULES += $(BOOT_MOD)
MODULES += $(HW_MOD) MODULES += $(HW_MOD)
MODULES += $(VP_BASE_MOD)
ifeq ($(CONFIG_RELEASE),y) ifeq ($(CONFIG_RELEASE),y)
MODULES += $(LIB_RELEASE) MODULES += $(LIB_RELEASE)
else else
@ -361,14 +366,15 @@ pre_build: $(PRE_BUILD_OBJS)
.PHONY: header .PHONY: header
header: $(VERSION) $(HV_OBJDIR)/$(HV_CONFIG_H) $(TARGET_ACPI_INFO_HEADER) header: $(VERSION) $(HV_OBJDIR)/$(HV_CONFIG_H) $(TARGET_ACPI_INFO_HEADER)
.PHONY: lib-mod boot-mod hw-mod .PHONY: lib-mod boot-mod hw-mod vp-base-mod
lib-mod: $(LIB_C_OBJS) $(LIB_S_OBJS) lib-mod: $(LIB_C_OBJS) $(LIB_S_OBJS)
$(AR) $(ARFLAGS) $(LIB_MOD) $(LIB_C_OBJS) $(LIB_S_OBJS) $(AR) $(ARFLAGS) $(LIB_MOD) $(LIB_C_OBJS) $(LIB_S_OBJS)
boot-mod: $(BOOT_S_OBJS) $(BOOT_C_OBJS) boot-mod: $(BOOT_S_OBJS) $(BOOT_C_OBJS)
$(AR) $(ARFLAGS) $(BOOT_MOD) $(BOOT_S_OBJS) $(BOOT_C_OBJS) $(AR) $(ARFLAGS) $(BOOT_MOD) $(BOOT_S_OBJS) $(BOOT_C_OBJS)
hw-mod: $(HW_S_OBJS) $(HW_C_OBJS) hw-mod: $(HW_S_OBJS) $(HW_C_OBJS)
$(AR) $(ARFLAGS) $(HW_MOD) $(HW_S_OBJS) $(HW_C_OBJS) $(AR) $(ARFLAGS) $(HW_MOD) $(HW_S_OBJS) $(HW_C_OBJS)
vp-base-mod: $(VP_BASE_S_OBJS) $(VP_BASE_C_OBJS)
$(AR) $(ARFLAGS) $(VP_BASE_MOD) $(VP_BASE_S_OBJS) $(VP_BASE_C_OBJS)
.PHONY: lib .PHONY: lib
lib: $(SUB_MAKEFILES) lib: $(SUB_MAKEFILES)