Skip to content

Commit 254577a

Browse files
miguelinuxwenlingz
authored andcommitted
makefile: fix parallel build
Since 9c81f4c ("hv:build library to lib_mod.a"), the parallel build system was broken. You cannot use "make -j #" to build ACRN. To fix this we need to declare explicit rules for the files to be built. Also remove "$(LIB_FLAGS): lib " and " MOD_DEPS " since they are redundancy after this change. This closes #3351 Tracked-On: #3351 Signed-off-by: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com> Reviewed-by: Binbin Wu <binbin.wu@intel.com> Reviewed-by: Jason Chen CJ <jason.cj.chen@intel.com>
1 parent 3164f39 commit 254577a

File tree

1 file changed

+29
-13
lines changed

1 file changed

+29
-13
lines changed

hypervisor/Makefile

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -295,15 +295,6 @@ endif
295295
PRE_BUILD_SRCS += pre_build/static_checks.c
296296
PRE_BUILD_OBJS := $(patsubst %.c,$(HV_OBJDIR)/%.o,$(PRE_BUILD_SRCS))
297297

298-
MOD_DEPS += lib-mod
299-
MOD_DEPS += boot-mod
300-
MOD_DEPS += hw-mod
301-
MOD_DEPS += vp-base-mod
302-
MOD_DEPS += vp-dm-mod
303-
MOD_DEPS += vp-trusty-mod
304-
MOD_DEPS += vp-hcall-mod
305-
MOD_DEPS += lib
306-
MOD_DEPS += sys-init-mod
307298
MODULES += $(LIB_MOD)
308299
MODULES += $(BOOT_MOD)
309300
MODULES += $(HW_MOD)
@@ -356,10 +347,10 @@ else
356347
endif
357348

358349
.PHONY: all
359-
all: pre_build $(MOD_DEPS) $(HV_OBJDIR)/$(HV_FILE).32.out $(HV_OBJDIR)/$(HV_FILE).bin
350+
all: pre_build $(HV_OBJDIR)/$(HV_FILE).32.out $(HV_OBJDIR)/$(HV_FILE).bin
360351

361352
ifeq ($(FIRMWARE),sbl)
362-
install: $(MOD_DEPS) $(HV_OBJDIR)/$(HV_FILE).32.out
353+
install: $(HV_OBJDIR)/$(HV_FILE).32.out
363354
ifeq ($(BOARD),apl-up2)
364355
install -D $(HV_OBJDIR)/$(HV_FILE).32.out $(DESTDIR)/usr/lib/acrn/$(HV_FILE).apl-up2.sbl
365356
else
@@ -385,21 +376,44 @@ header: $(VERSION) $(HV_OBJDIR)/$(HV_CONFIG_H) $(TARGET_ACPI_INFO_HEADER)
385376
.PHONY: lib-mod boot-mod hw-mod vp-base-mod vp-dm-mod vp-trusty-mod vp-hcall-mod sys-init-mod
386377
lib-mod: $(LIB_C_OBJS) $(LIB_S_OBJS)
387378
$(AR) $(ARFLAGS) $(LIB_MOD) $(LIB_C_OBJS) $(LIB_S_OBJS)
379+
380+
$(LIB_MOD): lib-mod
381+
388382
boot-mod: $(BOOT_S_OBJS) $(BOOT_C_OBJS)
389383
$(AR) $(ARFLAGS) $(BOOT_MOD) $(BOOT_S_OBJS) $(BOOT_C_OBJS)
384+
385+
$(BOOT_MOD): boot-mod
386+
390387
hw-mod: $(HW_S_OBJS) $(HW_C_OBJS)
391388
$(AR) $(ARFLAGS) $(HW_MOD) $(HW_S_OBJS) $(HW_C_OBJS)
389+
390+
$(HW_MOD): hw-mod
391+
392392
vp-base-mod: $(VP_BASE_S_OBJS) $(VP_BASE_C_OBJS)
393393
$(AR) $(ARFLAGS) $(VP_BASE_MOD) $(VP_BASE_S_OBJS) $(VP_BASE_C_OBJS)
394+
395+
$(VP_BASE_MOD): vp-base-mod
396+
394397
vp-dm-mod: $(VP_DM_C_OBJS)
395398
$(AR) $(ARFLAGS) $(VP_DM_MOD) $(VP_DM_C_OBJS)
399+
400+
$(VP_DM_MOD): vp-dm-mod
401+
396402
vp-trusty-mod: $(VP_TRUSTY_C_OBJS)
397403
$(AR) $(ARFLAGS) $(VP_TRUSTY_MOD) $(VP_TRUSTY_C_OBJS)
404+
405+
$(VP_TRUSTY_MOD): vp-trusty-mod
406+
398407
vp-hcall-mod: $(VP_HCALL_C_OBJS)
399408
$(AR) $(ARFLAGS) $(VP_HCALL_MOD) $(VP_HCALL_C_OBJS)
409+
410+
$(VP_HCALL_MOD): vp-hcall-mod
411+
400412
sys-init-mod: $(SYS_INIT_C_OBJS)
401413
$(AR) $(ARFLAGS) $(SYS_INIT_MOD) $(SYS_INIT_C_OBJS)
402414

415+
$(SYS_INIT_MOD): sys-init-mod
416+
403417
.PHONY: lib
404418
lib: $(SUB_MAKEFILES)
405419

@@ -409,6 +423,10 @@ $(SUB_MAKEFILES): header
409423
$(MAKE) -f $$Makefile MKFL_NAME=$$Makefile; \
410424
done
411425

426+
$(LIB_RELEASE): lib
427+
428+
$(LIB_DEBUG): lib
429+
412430
$(HV_OBJDIR)/$(HV_FILE).32.out: $(HV_OBJDIR)/$(HV_FILE).out
413431
$(OBJCOPY) -S --section-alignment=0x1000 -O elf32-i386 $< $@
414432

@@ -420,8 +438,6 @@ $(HV_OBJDIR)/$(HV_FILE).out: $(MODULES)
420438
$(CC) -Wl,-Map=$(HV_OBJDIR)/$(HV_FILE).map -o $@ $(LDFLAGS) $(ARCH_LDFLAGS) -T$(ARCH_LDSCRIPT) \
421439
-Wl,--start-group $^ -Wl,--end-group
422440

423-
$(LIB_FLAGS): lib
424-
425441
.PHONY: clean
426442
clean:
427443
rm -f $(VERSION)

0 commit comments

Comments
 (0)