Fix missing targets for m dist, add fetchers for Jenkins
- We didn't have actual targets for the versions of LK and BL2 that are
DRAM-size specific, so m dist would fail to be able to create them.
- Convert the previous bl2 and lk rules to phony targets called
extract-{bl2/lk}, and create targets for the 1G and 2G versions that
depend on those.
- Add checks for if we're in Jenkins, and fetch the bootloader packages
from the apt pool -- like we do on Enterprise
Change-Id: I94257e8549c7865423696b963f200eefd83b96e5
diff --git a/bootloader.mk b/bootloader.mk
index 7b5b24e..8fe9897 100644
--- a/bootloader.mk
+++ b/bootloader.mk
@@ -18,38 +18,67 @@
include $(ROOTDIR)/build/preamble.mk
-bootloader: $(PRODUCT_OUT)/lk.bin $(PRODUCT_OUT)/bl2.img $(PRODUCT_OUT)/fip.bin $(PRODUCT_OUT)/u-boot-env.bin
-lk-bin: $(PRODUCT_OUT)/lk.bin
+fetch-bootloader:
+ $(LOG) bootloader fetch
+ wget -P $(PRODUCT_OUT)/packages \
+ -e robots=off -nv -A deb -r -np -nd \
+ https://mendel-linux.org/apt/$(RELEASE_NAME)-bsp-excelsior/pool/main/l/lk-bootloader/
+ wget -P $(PRODUCT_OUT)/packages \
+ -e robots=off -nv -A deb -r -np -nd \
+ https://mendel-linux.org/apt/$(RELEASE_NAME)-bsp-excelsior/pool/main/e/excelsior-bootloader/
+ $(LOG) bootloader fetch finished
+
+bootloader: $(PRODUCT_OUT)/lk_2G.bin $(PRODUCT_OUT)/bl2_2G.img $(PRODUCT_OUT)/fip.bin $(PRODUCT_OUT)/u-boot-env.bin
fip-bin: $(PRODUCT_OUT)/fip.bin
-bl2-img: $(PRODUCT_OUT)/bl2.img
u-boot-env-bin: $(PRODUCT_OUT)/u-boot-env.bin
-$(PRODUCT_OUT)/lk.bin: lk-bootloader | out-dirs
+
+$(PRODUCT_OUT)/lk_2G.bin: extract-lk
+$(PRODUCT_OUT)/lk_1G.bin: extract-lk
+ifeq ($(IS_JENKINS),)
+extract-lk: lk-bootloader | out-dirs
+else
+extract-lk: fetch-bootloader | out-dirs
+endif
$(LOG) lk.bin extract
find $(PRODUCT_OUT)/packages -name 'lk-bootloader*$(USERSPACE_ARCH)*.deb' | xargs \
dpkg --fsys-tarfile | \
tar --strip-components 2 -C $(PRODUCT_OUT) -xf - --wildcards ./boot/lk_*.bin
$(LOG) lk.bin finished
+ifeq ($(IS_JENKINS),)
$(PRODUCT_OUT)/fip.bin: excelsior-bootloader | out-dirs
+else
+$(PRODUCT_OUT)/fip.bin: fetch-bootloader | out-dirs
+endif
$(LOG) fip.bin extract
find $(PRODUCT_OUT)/packages -name 'excelsior-bootloader*$(USERSPACE_ARCH)*.deb' | xargs \
dpkg --fsys-tarfile | \
tar --strip-components 2 -C $(PRODUCT_OUT) -xf - ./boot/fip.bin
$(LOG) fip.bin finished
-$(PRODUCT_OUT)/bl2.img: excelsior-bootloader | out-dirs
+$(PRODUCT_OUT)/bl2_2G.img: extract-bl2
+$(PRODUCT_OUT)/bl2_1G.img: extract-bl2
+ifeq ($(IS_JENKINS),)
+extract-bl2: excelsior-bootloader | out-dirs
+else
+extract-bl2: fetch-bootloader | out-dirs
+endif
$(LOG) bl2.img extract
find $(PRODUCT_OUT)/packages -name 'excelsior-bootloader*$(USERSPACE_ARCH)*.deb' | xargs \
dpkg --fsys-tarfile | \
tar --strip-components 2 -C $(PRODUCT_OUT) -xf - --wildcards ./boot/bl2_*.img
$(LOG) bl2.img finished
+ifeq ($(IS_JENKINS),)
$(PRODUCT_OUT)/u-boot-env.bin: excelsior-bootloader | out-dirs
+else
+$(PRODUCT_OUT)/u-boot-env.bin: fetch-bootloader | out-dirs
+endif
$(LOG) u-boot-env.bin extract
find $(PRODUCT_OUT)/packages -name 'excelsior-bootloader*$(USERSPACE_ARCH)*.deb' | xargs \
dpkg --fsys-tarfile | \
tar --strip-components 2 -C $(PRODUCT_OUT) -xf - ./boot/u-boot-env.bin
$(LOG) u-boot-env.bin finished
-.PHONY:: bootloader lk-bin fip-bin bl2-img u-boot-env-bin
+.PHONY:: bootloader fip-bin u-boot-env-bin fetch-bootloader extract-bl2 extract-lk