]>
Commit | Line | Data |
---|---|---|
33bf0acc TL |
1 | #!/usr/bin/make -f |
2 | SHELL=/bin/bash | |
3 | ||
4 | # this is a simplified version from the upstream package | |
5 | ||
20ffa59c | 6 | # Only used for creating our build tools. |
2b1d392a | 7 | include /usr/share/dpkg/default.mk |
33bf0acc | 8 | |
20ffa59c TL |
9 | # for GCC5 and newer, LTO enabled |
10 | EDK2_TOOLCHAIN=GCC5 | |
11 | AARCH64_TOOLCHAIN=GCC5 | |
33bf0acc TL |
12 | export $(EDK2_TOOLCHAIN)_AARCH64_PREFIX=aarch64-linux-gnu- |
13 | ||
1345c3eb TL |
14 | export PYTHON3_ENABLE=TRUE |
15 | export PYTHON_COMMAND=python3 | |
1da98c7b | 16 | |
33bf0acc TL |
17 | ifeq ($(DEB_BUILD_ARCH),amd64) |
18 | EDK2_BUILD_ARCH=X64 | |
33bf0acc TL |
19 | endif |
20 | ifeq ($(DEB_BUILD_ARCH),arm64) | |
21 | EDK2_BUILD_ARCH=AARCH64 | |
22 | endif | |
20ffa59c TL |
23 | ifeq ($(DEB_HOST_ARCH),amd64) |
24 | EDK2_HOST_ARCH=X64 | |
25 | endif | |
33bf0acc TL |
26 | |
27 | # Clear variables used internally by the edk2 build system | |
28 | undefine WORKSPACE | |
29 | undefine ECP_SOURCE | |
30 | undefine EDK_SOURCE | |
31 | undefine EFI_SOURCE | |
32 | undefine EDK_TOOLS_PATH | |
33 | undefine CONF_PATH | |
34 | ||
35 | %: | |
36 | dh $@ | |
37 | ||
20ffa59c | 38 | override_dh_auto_build: build-qemu-efi-aarch64 build-ovmf |
33bf0acc TL |
39 | |
40 | setup-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 | ||
46 | build-ovmf: EDK2_ARCH_DIR=X64 | |
47 | build-ovmf: EDK2_HOST_ARCH=X64 | |
48 | build-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 | 61 | build-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 | ||
87 | build-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 |
90 | override_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 |