使用者工具

網站工具


calculation_bios_build_time

差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

下次修改
前次修改
calculation_bios_build_time [2024/07/09 08:27]
don 建立
calculation_bios_build_time [2024/09/11 12:36] (目前版本)
don
行 1: 行 1:
 ====== Calculation BIOS Build Time ====== ====== Calculation BIOS Build Time ======
  
 +makefile
 +<code>
 +target: target1 target2 
 +<tab>gcc -o ExecutionFile target1 target2
 +</code>
 +
 +
 +Step1 : Add two variables before .XXXXX   ex:.PHONY
 +<code>
 +START_TIME := $(shell echo %time%)
 +END_TIME := $(shell echo %time%)
 +</code>
 +
 +Step2 : Add two targets
 +<code>
 +start_time:
 + @echo Start Time: $(START_TIME)
 +
 +end_time:
 + $(eval END_TIME := $(shell echo %time%))
 + @echo Start Time: $(START_TIME)
 + @echo End Time: $(END_TIME)
 + @echo.
 + @echo Calculate time...
 + @powershell -Command "$$start_time = [datetime]::Parse('$(START_TIME)'); $$end_time = [datetime]::Parse('$(END_TIME)'); $$duration = $$end_time - $$start_time;echo Build_time: $$duration"
 +</code>
 +
 +Step3 : Add "start_time" "end_time" targets to ".PHONY"
 +<code>
 +.PHONY : all clean rebuild run RunAmiSdl AptioV sdl Prologue start_time end_time
 +</code>
 +
 +Step4 : Add the target to start location and end location\\
 +
 +all: <color #ed1c24>start_time</color> Prologue $(BUILD_DIR) RunAmiSdl AptioV <color #ed1c24>end_time</color>
 +
 +
 +Completion makefile
 +
 +<code>
 +export CONFIGURATION_DIR:=AmiPkg/Configuration/
 +export UTILITIES_MAK:=$(CONFIGURATION_DIR)utilities.mak
 +include $(UTILITIES_MAK)
 +ifeq ($(wildcard $(TOOLS_DIR)/BuildToolsVersion.mak),$(TOOLS_DIR)/BuildToolsVersion.mak)
 +include $(TOOLS_DIR)/BuildToolsVersion.mak
 +else
 +export BUILD_TOOLS_VERSION=0
 +endif
 +
 +export MAIN_MAK:=$(CONFIGURATION_DIR)Main.mak
 +export TOKEN_MAK:=Build/Token.mak
 +export MODULE_MAK:=Build/module.mak
 +export APTIO_MAKE:=$(MAKE) --no-print-directory
 +
 +# Script that runs AmiSdl and other AMI preprocessing tools can be either part of the build tools (higher priority)
 +# or part of the project (lower priority).
 +ifeq ($(wildcard $(TOOLS_DIR)/RunAmiTools.mak),$(TOOLS_DIR)/RunAmiTools.mak)
 +RUN_AMI_TOOLS_MAK:=$(TOOLS_DIR)/RunAmiTools.mak
 +else
 +RUN_AMI_TOOLS_MAK:=$(CONFIGURATION_DIR)RunAmiSdl.mak
 +endif
 +
 +START_TIME := $(shell echo %time%)
 +END_TIME := $(shell echo %time%)
 +
 +.PHONY : all clean rebuild run RunAmiSdl AptioV sdl Prologue start_time end_time
 +
 +all: start_time Prologue $(BUILD_DIR) RunAmiSdl AptioV end_time
 +
 +# Print build information
 +Prologue:
 + $(ECHO) Build Tools: $(BUILD_TOOLS_VERSION).
 +
 +# Clean out the old files
 +clean:
 + @$(ECHO) Deleting temporary files...
 +  ifeq ($(wildcard $(BUILD_DIR)), $(BUILD_DIR))
 + -$(RMDIR) $(BUILD_DIR)
 +  endif
 +  ifeq ($(wildcard Conf), Conf)
 + -$(RMDIR) Conf
 +  endif
 + @$(APTIO_MAKE) -s -f $(RUN_AMI_TOOLS_MAK) clean
 + @$(ECHO) Done.
 +
 +rebuild: clean all
 +
 +run:
 + $(APTIO_MAKE) -f $(MAIN_MAK) run
 +
 +sdl: $(BUILD_DIR) RunAmiSdl
 +
 +# Check if Build exists, if not, then make it
 +$(BUILD_DIR): 
 + mkdir $(BUILD_DIR)
 +
 +RunAmiSdl:
 + @$(APTIO_MAKE) -f $(RUN_AMI_TOOLS_MAK) all
 +
 +# If TODAY/NOW are not defined on the command line, generate them automatically.
 +# These auto-generated values may be overridden with TODAY/NOW SDL tokens.
 +# TODAY/NOW defined on the command line have the highest priority (SDL tokens do not override them).
 +# TODAY format: mm/dd/yyyy 
 +# NOW format: hh:mm:ss
 +ifeq ($(TODAY),
 +export TODAY := $(shell $(DATE) +'%m/%d/%Y')
 +endif
 +ifeq ($(NOW),
 +export NOW := $(shell $(DATE) +%T)
 +endif
 +
 +AptioV:
 + $(APTIO_MAKE) -f $(MAIN_MAK) $(target)
 +ifeq ($(call __ge, $(BUILD_TOOLS_VERSION), 29),yes)
 + @$(APTIO_MAKE) -s -f $(RUN_AMI_TOOLS_MAK) End
 +endif
 + $ GBT_ME_Build.bat
 +
 +start_time:
 + @echo Start Time: $(START_TIME)
 +
 +end_time:
 + $(eval END_TIME := $(shell echo %time%))
 + @echo Start Time: $(START_TIME)
 + @echo End Time: $(END_TIME)
 + @echo.
 + @echo Calculate time...
 + @powershell -Command "$$start_time = [datetime]::Parse('$(START_TIME)'); $$end_time = [datetime]::Parse('$(END_TIME)'); $$duration = $$end_time - $$start_time;echo Build_time: $$duration"
 +
 +</code>
calculation_bios_build_time.1720484829.txt.gz · 上一次變更: 2024/07/09 08:27 由 don