edk2-basetools icon indicating copy to clipboard operation
edk2-basetools copied to clipboard

Incremental build error

Open spbrogan opened this issue 3 years ago • 1 comments
trafficstars

An incremental build error / make file generation error was reported to Project Mu.
Adding content here as this is the place to fix it.

Hello, it was reported by one of our customers, that incremental build does not work. We tracked it down to the GNUmakefile RELEASE_GCC5/AARCH64/ArmPlatformPkg/PrePi/PeiUniCore/GNUmakefile where a dependency is missing: instead of:

$(FFS_OUTPUT_DIR)/$(MODULE_GUID).efi : test -f $(OUTPUT_DIR)/ArmPlatformPrePiUniCore.efi && $(CP) $(OUTPUT_DIR)/ArmPlatformPrePiUniCore.efi $(FFS_OUTPUT_DIR)/$(MODULE_GUID).efi

the incremental build works fine with:

$(FFS_OUTPUT_DIR)/$(MODULE_GUID).efi : $(OUTPUT_DIR)/ArmPlatformPrePiUniCore.efi test -f $(OUTPUT_DIR)/ArmPlatformPrePiUniCore.efi && $(CP) $(OUTPUT_DIR)/ArmPlatformPrePiUniCore.efi $(FFS_OUTPUT_DIR)/$(MODULE_GUID).efi

It means that copy will happen not only if the destination file is missing, but also if the source file (=makefile rule dependency) has changed. (Possibly similar issue for *.map file above in the same GNUmakefile). I can provide more details if needed, and can debug the whole GNUmakefile generation process in mu_basecore/BaseTools/Source/Python. But it is too big to debug for external person so hopefully somebody can look into it. Can this be fixed?

https://github.com/microsoft/mu/issues/122

spbrogan avatar Apr 14 '22 00:04 spbrogan

@spbrogan The original text appears to have been pretty badly mangled. If you have the original, could you re-post it maybe surrounded by ``` so it doesn't get interpreted as markdown? e.g.

_this_ *text* would normally be interpreted as markdown. Including & * ^ $ etc.

bcran avatar Apr 25 '23 14:04 bcran