Skip to content

Commit d0489ef

Browse files
fyin1acrnsi
authored andcommitted
Makefile: Add acrn build/install functions
To remove several duplicated Makefile cmdline, introduce the functions to build/install acrn. If we need to add new build to sbl-hypervisor (which is used by integration team), we only need to define a new target and call acrn build/install functions with correct parameters. And then make sbl-hypervisor depend on that new target. Tracked-On: #3779 Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
1 parent df5ef92 commit d0489ef

File tree

1 file changed

+53
-34
lines changed

1 file changed

+53
-34
lines changed

Makefile

Lines changed: 53 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,33 @@ else ifeq ($(BOARD), kbl-nuc-i7)
4646
override BOARD := nuc7i7dnb
4747
endif
4848
49+
#help functions to build acrn and install acrn/acrn symbols
50+
define build_acrn
51+
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(4) RELEASE=$(RELEASE) clean
52+
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(4) RELEASE=$(RELEASE) defconfig
53+
@echo "$(3)=y" >> $(HV_OUT)-$(1)/$(2)/.config
54+
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(4) RELEASE=$(RELEASE) oldconfig
55+
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(4) RELEASE=$(RELEASE)
56+
echo "building hypervisor as EFI executable..."
57+
@if [ "$(1)" == "uefi" ]; then \
58+
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT)-$(1)/$(2) SCENARIO=$(4) EFI_OBJDIR=$(EFI_OUT); \
59+
fi
60+
endef
61+
62+
define install_acrn
63+
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(3) RELEASE=$(RELEASE) install
64+
@if [ "$(1)" == "uefi" ]; then \
65+
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(3) RELEASE=$(RELEASE) install; \
66+
fi
67+
endef
68+
69+
define install_acrn_debug
70+
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(3) RELEASE=$(RELEASE) install-debug
71+
@if [ "$(1)" == "uefi" ]; then \
72+
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT)-$(1)/$(2) BOARD=$(2) FIRMWARE=$(1) SCENARIO=$(3) RELEASE=$(RELEASE) install-debug; \
73+
fi
74+
endef
75+
4976
hypervisor:
5077
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) RELEASE=$(RELEASE) \
5178
BOARD_FILE=$(BOARD_FILE) SCENARIO_FILE=$(SCENARIO_FILE) clean
@@ -66,29 +93,6 @@ ifeq ($(FIRMWARE),uefi)
6693
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT) SCENARIO=$(SCENARIO) EFI_OBJDIR=$(EFI_OUT)
6794
endif
6895
69-
sbl-hypervisor:
70-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) clean
71-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) defconfig
72-
@echo "CONFIG_SDC=y" >> $(HV_OUT)-sbl/.config
73-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE) oldconfig
74-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl RELEASE=$(RELEASE)
75-
76-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-up2 BOARD=apl-up2 FIRMWARE=sbl RELEASE=$(RELEASE) clean
77-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-up2 BOARD=apl-up2 FIRMWARE=sbl RELEASE=$(RELEASE) defconfig
78-
@echo "CONFIG_SDC=y" >> $(HV_OUT)-sbl/.config
79-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-up2 BOARD=apl-up2 FIRMWARE=sbl RELEASE=$(RELEASE) oldconfig
80-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-up2 BOARD=apl-up2 FIRMWARE=sbl RELEASE=$(RELEASE)
81-
82-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi RELEASE=$(RELEASE) clean
83-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi RELEASE=$(RELEASE) defconfig
84-
@echo "CONFIG_INDUSTRY=y" >> $(HV_OUT)-isd/.config
85-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi RELEASE=$(RELEASE) oldconfig
86-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi RELEASE=$(RELEASE)
87-
88-
ifeq ($(FIRMWARE),uefi)
89-
echo "building hypervisor as EFI executable..."
90-
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT)-isd SCENARIO=industry EFI_OBJDIR=$(EFI_OUT)
91-
endif
9296
9397
devicemodel: tools
9498
$(MAKE) -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) RELEASE=$(RELEASE) clean
@@ -122,17 +126,32 @@ ifeq ($(FIRMWARE),uefi)
122126
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT) BOARD=$(BOARD) FIRMWARE=$(FIRMWARE) SCENARIO=$(SCENARIO) EFI_OBJDIR=$(EFI_OUT) all install-debug
123127
endif
124128
125-
sbl-hypervisor-install:
126-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl SCENARIO=sdc RELEASE=$(RELEASE) install
127-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-up2 BOARD=apl-up2 FIRMWARE=sbl SCENARIO=sdc RELEASE=$(RELEASE) install
128-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi SCENARIO=industry RELEASE=$(RELEASE) install
129-
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi SCENARIO=industry EFI_OBJDIR=$(EFI_OUT) all install
130-
131-
sbl-hypervisor-install-debug:
132-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-mrb BOARD=apl-mrb FIRMWARE=sbl SCENARIO=sdc RELEASE=$(RELEASE) install-debug
133-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-sbl/apl-up2 BOARD=apl-up2 FIRMWARE=sbl SCENARIO=sdc RELEASE=$(RELEASE) install-debug
134-
$(MAKE) -C $(T)/hypervisor HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi SCENARIO=industry RELEASE=$(RELEASE) install-debug
135-
$(MAKE) -C $(T)/misc/efi-stub HV_OBJDIR=$(HV_OUT)-isd BOARD=kbl-nuc-i7 FIRMWARE=uefi SCENARIO=industry EFI_OBJDIR=$(EFI_OUT) all install-debug
129+
apl-mrb-sbl-sdc:
130+
$(call build_acrn,sbl,apl-mrb,CONFIG_SDC,sdc)
131+
apl-up2-sbl-sdc:
132+
$(call build_acrn,sbl,apl-up2,CONFIG_SDC,sdc)
133+
kbl-nuc-i7-uefi-industry:
134+
$(call build_acrn,uefi,kbl-nuc-i7,CONFIG_INDUSTRY,industry)
135+
136+
sbl-hypervisor: apl-mrb-sbl-sdc apl-up2-sbl-sdc kbl-nuc-i7-uefi-industry
137+
138+
apl-mrb-sbl-sdc-install:
139+
$(call install_acrn,sbl,apl-mrb,sdc)
140+
apl-up2-sbl-sdc-install:
141+
$(call install_acrn,sbl,apl-up2,sdc)
142+
kbl-nuc-i7-uefi-industry-install:
143+
$(call install_acrn,uefi,kbl-nuc-i7,industry)
144+
145+
sbl-hypervisor-install: apl-mrb-sbl-sdc-install apl-up2-sbl-sdc-install kbl-nuc-i7-uefi-industry-install
146+
147+
apl-mrb-sbl-sdc-install-debug:
148+
$(call install_acrn_debug,sbl,apl-mrb,sdc)
149+
apl-up2-sbl-sdc-install-debug:
150+
$(call install_acrn_debug,sbl,apl-up2,sdc)
151+
kbl-nuc-i7-uefi-industry-install-debug:
152+
$(call install_acrn_debug,uefi,kbl-nuc-i7,industry)
153+
154+
sbl-hypervisor-install-debug: apl-mrb-sbl-sdc-install-debug apl-up2-sbl-sdc-install-debug kbl-nuc-i7-uefi-industry-install-debug
136155
137156
devicemodel-install:
138157
$(MAKE) -C $(T)/devicemodel DM_OBJDIR=$(DM_OUT) install

0 commit comments

Comments
 (0)