]> git.proxmox.com Git - pve-edk2-firmware.git/blame - debian/rules
d/rules: fix export of python3 commands
[pve-edk2-firmware.git] / debian / rules
CommitLineData
33bf0acc
TL
1#!/usr/bin/make -f
2SHELL=/bin/bash
3
4# this is a simplified version from the upstream package
5
20ffa59c 6# Only used for creating our build tools.
2b1d392a 7include /usr/share/dpkg/default.mk
33bf0acc 8
20ffa59c
TL
9# for GCC5 and newer, LTO enabled
10EDK2_TOOLCHAIN=GCC5
11AARCH64_TOOLCHAIN=GCC5
33bf0acc
TL
12export $(EDK2_TOOLCHAIN)_AARCH64_PREFIX=aarch64-linux-gnu-
13
1345c3eb
TL
14export PYTHON3_ENABLE=TRUE
15export PYTHON_COMMAND=python3
1da98c7b 16
33bf0acc
TL
17ifeq ($(DEB_BUILD_ARCH),amd64)
18 EDK2_BUILD_ARCH=X64
33bf0acc
TL
19endif
20ifeq ($(DEB_BUILD_ARCH),arm64)
21 EDK2_BUILD_ARCH=AARCH64
22endif
20ffa59c
TL
23ifeq ($(DEB_HOST_ARCH),amd64)
24 EDK2_HOST_ARCH=X64
25endif
33bf0acc
TL
26
27# Clear variables used internally by the edk2 build system
28undefine WORKSPACE
29undefine ECP_SOURCE
30undefine EDK_SOURCE
31undefine EFI_SOURCE
32undefine EDK_TOOLS_PATH
33undefine CONF_PATH
34
35%:
36 dh $@
37
20ffa59c 38override_dh_auto_build: build-qemu-efi-aarch64 build-ovmf
33bf0acc
TL
39
40setup-build:
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
44 . ./edksetup.sh
45
46build-ovmf: EDK2_ARCH_DIR=X64
47build-ovmf: EDK2_HOST_ARCH=X64
48build-ovmf: setup-build
49 set -e; . ./edksetup.sh; \
50 OvmfPkg/build.sh \
51 -b RELEASE \
52 -a $(EDK2_HOST_ARCH) \
53 -t $(EDK2_TOOLCHAIN) \
54 -DSECURE_BOOT_ENABLE=FALSE \
2721bb84 55 -DDNETWORK_TLS_ENABLE \
111c5776
SR
56 -DTPM_ENABLE=TRUE \
57 -DTPM2_ENABLE=TRUE \
33bf0acc
TL
58 -DFD_SIZE_2MB \
59 -n $$(getconf _NPROCESSORS_ONLN)
60
20ffa59c 61build-qemu-efi: setup-build
20ffa59c
TL
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); \
7ea3cb51 66 cp -a Build/Shell/RELEASE_$(EDK2_TOOLCHAIN)/$(EDK2_HOST_ARCH)/Shell_7C04A583-9E3E-4f1c-AD65-E05268D0B4D1.efi \
20ffa59c
TL
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 \
2721bb84 78 -DDNETWORK_TLS_ENABLE \
111c5776
SR
79 -DTPM_ENABLE=TRUE \
80 -DTPM2_ENABLE=TRUE \
20ffa59c
TL
81 -DINTEL_BDS \
82 -b RELEASE
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
86
87build-qemu-efi-aarch64:
88 $(MAKE) -f debian/rules build-qemu-efi EDK2_ARCH_DIR=AArch64 EDK2_HOST_ARCH=AARCH64 FW_NAME=AAVMF
89
33bf0acc
TL
90override_dh_auto_clean:
91 set -e; \
92 if [ -d BaseTools/Source/C/bin ]; then \
93 . ./edksetup.sh; build clean; \
94 make -C BaseTools clean; \
95 fi
96 rm -rf Conf/.cache Build .pc-post
97
98.PHONY: setup-build build-ovmf