mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-08 14:24:24 +02:00
This change adds the support of crossbuilding basetool for Windows ARM/ ARM64 systems, which will enable the generally available pipeline agents to build binary tools and make releases as they see fit. The EDK2 base tools build script is also updated to support cross compilation using this script. The crossbuilt binary output is tested on Windows ARM based hardware systems. Cc: Rebecca Cran <rebecca@bsdio.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Bob Feng <bob.c.feng@intel.com> Cc: Yuwei Chen <yuwei.chen@intel.com> Signed-off-by: Kun Qin <kun.qin@microsoft.com>
72 lines
2.2 KiB
Makefile
72 lines
2.2 KiB
Makefile
## @file
|
|
# Windows makefile for C tools build.
|
|
#
|
|
# Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
!IFNDEF HOST_ARCH
|
|
HOST_ARCH = IA32
|
|
!ENDIF
|
|
|
|
!INCLUDE Makefiles\ms.common
|
|
|
|
LIBRARIES = Common
|
|
APPLICATIONS = \
|
|
VfrCompile \
|
|
BrotliCompress \
|
|
EfiRom \
|
|
GenCrc32 \
|
|
GenFfs \
|
|
GenFv \
|
|
GenFw \
|
|
GenSec \
|
|
LzmaCompress \
|
|
TianoCompress \
|
|
VolInfo \
|
|
DevicePath
|
|
|
|
all: libs apps install
|
|
|
|
libs: $(LIBRARIES)
|
|
@echo.
|
|
@echo ######################
|
|
@echo # Build libraries
|
|
@echo ######################
|
|
@if not exist $(LIB_PATH) mkdir $(LIB_PATH)
|
|
@if defined PYTHON_COMMAND $(PYTHON_COMMAND) Makefiles\NmakeSubdirs.py all $**
|
|
@if not defined PYTHON_COMMAND $(PYTHON_HOME)\python.exe Makefiles\NmakeSubdirs.py all $**
|
|
|
|
apps: $(APPLICATIONS)
|
|
@echo.
|
|
@echo ######################
|
|
@echo # Build executables
|
|
@echo ######################
|
|
@if not exist $(BIN_PATH) mkdir $(BIN_PATH)
|
|
@if defined PYTHON_COMMAND $(PYTHON_COMMAND) Makefiles\NmakeSubdirs.py all $**
|
|
@if not defined PYTHON_COMMAND $(PYTHON_HOME)\python.exe Makefiles\NmakeSubdirs.py all $**
|
|
|
|
install: $(LIB_PATH) $(BIN_PATH)
|
|
@echo.
|
|
@echo ######################
|
|
@echo # Install to $(SYS_LIB_PATH)
|
|
@echo # Install to $(SYS_BIN_PATH)
|
|
@echo ######################
|
|
@-xcopy $(LIB_PATH)\*.lib $(SYS_LIB_PATH) /I /D /E /F /Y > NUL 2>&1
|
|
@-xcopy $(BIN_PATH)\*.exe $(SYS_BIN_PATH) /I /D /E /F /Y > NUL 2>&1
|
|
@-xcopy $(BIN_PATH)\*.bat $(SYS_BIN_PATH) /I /D /E /F /Y > NUL 2>&1
|
|
|
|
.PHONY: clean
|
|
clean:
|
|
@if defined PYTHON_COMMAND $(PYTHON_COMMAND) Makefiles\NmakeSubdirs.py clean $(LIBRARIES) $(APPLICATIONS)
|
|
@if not defined PYTHON_COMMAND $(PYTHON_HOME)\python.exe Makefiles\NmakeSubdirs.py clean $(LIBRARIES) $(APPLICATIONS)
|
|
|
|
.PHONY: cleanall
|
|
cleanall:
|
|
@if defined PYTHON_COMMAND $(PYTHON_COMMAND) Makefiles\NmakeSubdirs.py cleanall $(LIBRARIES) $(APPLICATIONS)
|
|
@if not defined PYTHON_COMMAND $(PYTHON_HOME)\python.exe Makefiles\NmakeSubdirs.py cleanall $(LIBRARIES) $(APPLICATIONS)
|
|
# Next line protects the libs pseudo target from inadvertent GNU make activity
|
|
if exist libs RMDIR /S /Q libs
|
|
|
|
!INCLUDE Makefiles\ms.rule
|
|
|