4 # this is a simplified version from the upstream package
6 # Only used for creating our build tools.
7 include /usr
/share
/dpkg
/default.mk
9 # for GCC5 and newer, LTO enabled
11 AARCH64_TOOLCHAIN
=GCC5
12 export $(EDK2_TOOLCHAIN
)_AARCH64_PREFIX
=aarch64-linux-gnu-
14 export PYTHON3_ENABLE
="TRUE"
15 export PYTHON_COMMAND
="python3"
17 ifeq ($(DEB_BUILD_ARCH
),amd64
)
20 ifeq ($(DEB_BUILD_ARCH
),arm64
)
21 EDK2_BUILD_ARCH
=AARCH64
23 ifeq ($(DEB_HOST_ARCH
),amd64
)
27 # Clear variables used internally by the edk2 build system
32 undefine EDK_TOOLS_PATH
38 override_dh_auto_build
: build-qemu-efi-aarch64 build-ovmf
41 cp
-a debian
/Logo.bmp MdeModulePkg
/Logo
/Logo.bmp
42 make
-C BaseTools ARCH
=$(EDK2_BUILD_ARCH
)
43 # call this when building too, it modifies the shell environment
46 build-ovmf
: EDK2_ARCH_DIR
=X64
47 build-ovmf
: EDK2_HOST_ARCH
=X64
48 build-ovmf
: setup-build
49 set
-e
; . .
/edksetup.sh
; \
52 -a
$(EDK2_HOST_ARCH
) \
53 -t
$(EDK2_TOOLCHAIN
) \
54 -DSECURE_BOOT_ENABLE
=FALSE \
55 -DDNETWORK_TLS_ENABLE \
59 -n
$$(getconf _NPROCESSORS_ONLN
)
61 build-qemu-efi
: setup-build
62 mkdir
-p ShellBinPkg
/UefiShell
/$(EDK2_ARCH_DIR
) FatBinPkg
/EnhancedFatDxe
/$(EDK2_ARCH_DIR
)
63 set
-e
; . .
/edksetup.sh
; \
64 build
-a
$(EDK2_HOST_ARCH
) -p ShellPkg
/ShellPkg.dsc \
65 -b RELEASE
-t
$(EDK2_TOOLCHAIN
); \
66 cp
-a Build
/Shell
/RELEASE_
$(EDK2_TOOLCHAIN
)/$(EDK2_HOST_ARCH
)/Shell_7C04A583-9E3E-4f1c-AD65-E05268D0B4D1.efi \
67 ShellBinPkg
/UefiShell
/$(EDK2_ARCH_DIR
)/Shell.efi
; \
68 build
-a
$(EDK2_HOST_ARCH
) -p FatPkg
/FatPkg.dsc \
69 -m FatPkg
/EnhancedFatDxe
/Fat.inf \
70 -t
$(EDK2_TOOLCHAIN
) -b RELEASE
; \
71 cp
-a Build
/Fat
/RELEASE_
$(EDK2_TOOLCHAIN
)/$(EDK2_HOST_ARCH
)/Fat.efi \
72 FatBinPkg
/EnhancedFatDxe
/$(EDK2_ARCH_DIR
)/Fat.efi
; \
73 build
-a
$(EDK2_HOST_ARCH
) \
74 -t
$(EDK2_TOOLCHAIN
) \
75 -p ArmVirtPkg
/ArmVirtQemu.dsc \
76 -DHTTP_BOOT_ENABLE
=TRUE \
77 -DSECURE_BOOT_ENABLE
=FALSE \
78 -DDNETWORK_TLS_ENABLE \
83 dd if
=/dev
/zero of
=Build
/ArmVirtQemu-
$(EDK2_HOST_ARCH
)/RELEASE_
$(EDK2_TOOLCHAIN
)/FV
/$(FW_NAME
)_CODE.fd bs
=1M seek
=64 count
=0
84 dd if
=Build
/ArmVirtQemu-
$(EDK2_HOST_ARCH
)/RELEASE_
$(EDK2_TOOLCHAIN
)/FV
/QEMU_EFI.fd of
=Build
/ArmVirtQemu-
$(EDK2_HOST_ARCH
)/RELEASE_
$(EDK2_TOOLCHAIN
)/FV
/$(FW_NAME
)_CODE.fd conv
=notrunc
85 dd if
=/dev
/zero of
=Build
/ArmVirtQemu-
$(EDK2_HOST_ARCH
)/RELEASE_
$(EDK2_TOOLCHAIN
)/FV
/$(FW_NAME
)_VARS.fd bs
=1M seek
=64 count
=0
87 build-qemu-efi-aarch64
:
88 $(MAKE
) -f debian
/rules build-qemu-efi EDK2_ARCH_DIR
=AArch64 EDK2_HOST_ARCH
=AARCH64 FW_NAME
=AAVMF
90 override_dh_auto_clean
:
92 if
[ -d BaseTools
/Source
/C
/bin
]; then \
93 . .
/edksetup.sh
; build
clean; \
94 make
-C BaseTools
clean; \
96 rm -rf Conf
/.cache Build .pc-post
98 .PHONY
: setup-build build-ovmf