mirror of https://github.com/OpenIPC/firmware.git
Makefile: use dialog if variable is not defined
parent
6e177160b2
commit
6b144ebaa3
|
@ -209,6 +209,7 @@ jobs:
|
||||||
- name: Build firmware
|
- name: Build firmware
|
||||||
run: |
|
run: |
|
||||||
echo "8.8.8.8 invisible-mirror.net" | sudo tee -a /etc/hosts
|
echo "8.8.8.8 invisible-mirror.net" | sudo tee -a /etc/hosts
|
||||||
|
echo "8.8.8.8 distfiles.dereferenced.org" | sudo tee -a /etc/hosts
|
||||||
|
|
||||||
export GIT_HASH=$(git rev-parse --short ${GITHUB_SHA})
|
export GIT_HASH=$(git rev-parse --short ${GITHUB_SHA})
|
||||||
export GIT_BRANCH=${GITHUB_REF_NAME}
|
export GIT_BRANCH=${GITHUB_REF_NAME}
|
||||||
|
|
62
Makefile
62
Makefile
|
@ -4,35 +4,34 @@ BR_LINK = https://github.com/buildroot/buildroot/archive/refs/tags
|
||||||
BR_FILE = /tmp/buildroot-$(BR_VER).tar.gz
|
BR_FILE = /tmp/buildroot-$(BR_VER).tar.gz
|
||||||
TARGET ?= $(PWD)/output
|
TARGET ?= $(PWD)/output
|
||||||
|
|
||||||
MAX_KERNEL_SIZE_LITE = 2048
|
MAX_KERNEL_SIZE_8M := 2048
|
||||||
MAX_ROOTFS_SIZE_LITE = 5120
|
MAX_ROOTFS_SIZE_8M := 5120
|
||||||
MAX_KERNEL_SIZE_ULTIMATE = 3072
|
MAX_KERNEL_SIZE_16M := 3072
|
||||||
MAX_ROOTFS_SIZE_ULTIMATE = 10240
|
MAX_ROOTFS_SIZE_16M := 10240
|
||||||
MAX_KERNEL_SIZE_NAND = 4096
|
MAX_KERNEL_SIZE_128M := 4096
|
||||||
MAX_ROOTFS_SIZE_NAND = 16384
|
MAX_ROOTFS_SIZE_128M := 16384
|
||||||
|
|
||||||
ifdef BOARD
|
ifneq ($(filter $(MAKECMDGOALS), all repack),)
|
||||||
CONFIG = $(shell find br-ext-*/configs/*_defconfig | grep -m1 $(BOARD))
|
LIST = $(shell find ./br-ext-*/configs/*_defconfig | sort | \
|
||||||
|
sed -E "s|br-ext-chip-(.+).configs.(.+)_defconfig|'\2' '\1 \2'|")
|
||||||
|
BOARD = $(or $(shell whiptail --title "Available boards" --menu "Please select a board:" 20 76 12 \
|
||||||
|
--notags $(LIST) 3>&1 1>&2 2>&3),$(error variable BOARD must be defined))
|
||||||
|
CONFIG := $(shell find br-ext-*/configs/*_defconfig | grep -m1 $(BOARD))
|
||||||
|
include $(CONFIG)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(CONFIG),)
|
TIMER := $(shell date +%s)
|
||||||
CONFIG = $(error variable BOARD must be defined to initialize build)
|
|
||||||
else
|
|
||||||
include $(CONFIG)
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: all clean defconfig deps distclean help prepare toolname
|
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@printf "BR-OpenIPC usage:\n \
|
@printf "BR-OpenIPC usage:\n \
|
||||||
|
- make list - show available device configurations\n \
|
||||||
- make deps - install build dependencies\n \
|
- make deps - install build dependencies\n \
|
||||||
- make clean - remove defconfig and target folder\n \
|
- make clean - remove defconfig and target folder\n \
|
||||||
- make distclean - remove buildroot and output folder\n \
|
- make distclean - remove buildroot and output folder\n \
|
||||||
- make list - show available device configurations\n \
|
- make br-linux - build linux kernel only\n \
|
||||||
- make select - show interactive device list\n \
|
- make all - build the device firmware\n\n"
|
||||||
- make all BOARD=<config> - build the selected device\n\n"
|
|
||||||
|
|
||||||
all: build repack
|
all: build repack timer
|
||||||
|
|
||||||
build: defconfig
|
build: defconfig
|
||||||
@$(BR_MAKE) all
|
@$(BR_MAKE) all
|
||||||
|
@ -40,13 +39,11 @@ build: defconfig
|
||||||
br-%: defconfig
|
br-%: defconfig
|
||||||
@$(BR_MAKE) $(subst br-,,$@)
|
@$(BR_MAKE) $(subst br-,,$@)
|
||||||
|
|
||||||
defconfig: prepare
|
defconfig:
|
||||||
@$(BR_MAKE) BR2_DEFCONFIG=$(PWD)/$(CONFIG) defconfig
|
|
||||||
|
|
||||||
prepare:
|
|
||||||
@if test ! -e $(TARGET)/buildroot-$(BR_VER); then \
|
@if test ! -e $(TARGET)/buildroot-$(BR_VER); then \
|
||||||
wget -c -q $(BR_LINK)/$(BR_VER).tar.gz -O $(BR_FILE); \
|
wget -c -q $(BR_LINK)/$(BR_VER).tar.gz -O $(BR_FILE); \
|
||||||
mkdir -p $(TARGET); tar -xf $(BR_FILE) -C $(TARGET); fi
|
mkdir -p $(TARGET); tar -xf $(BR_FILE) -C $(TARGET); fi
|
||||||
|
@$(BR_MAKE) BR2_DEFCONFIG=$(PWD)/$(CONFIG) defconfig
|
||||||
|
|
||||||
toolname:
|
toolname:
|
||||||
@general/scripts/show_toolchains.sh $(CONFIG)
|
@general/scripts/show_toolchains.sh $(CONFIG)
|
||||||
|
@ -64,27 +61,24 @@ deps:
|
||||||
sudo apt-get install -y automake autotools-dev bc build-essential cpio \
|
sudo apt-get install -y automake autotools-dev bc build-essential cpio \
|
||||||
curl file fzf git libncurses-dev libtool lzop make rsync unzip wget
|
curl file fzf git libncurses-dev libtool lzop make rsync unzip wget
|
||||||
|
|
||||||
select:
|
timer:
|
||||||
$(eval MENU_LIST = $(shell find ./br-ext-*/configs/*_defconfig | sort | \
|
@echo - Build time: $(shell date -d @$(shell expr $(shell date +%s) - $(TIMER)) -u +%M:%S)
|
||||||
sed -E "s|br-ext-chip-(.+).configs.(.+)_defconfig|'\2' '\1 \2'|"))
|
|
||||||
@$(MAKE) BOARD=$(shell whiptail --title "Available boards" --menu "Please select a board:" \
|
|
||||||
20 76 12 --notags $(MENU_LIST) 3>&1 1>&2 2>&3) all
|
|
||||||
|
|
||||||
repack:
|
repack:
|
||||||
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
|
ifeq ($(BR2_TARGET_ROOTFS_SQUASHFS),y)
|
||||||
ifeq ($(BR2_OPENIPC_FLASH_SIZE),"8")
|
ifeq ($(BR2_OPENIPC_FLASH_SIZE),"8")
|
||||||
@$(call CHECK_SIZE,uImage,$(MAX_KERNEL_SIZE_LITE))
|
@$(call CHECK_SIZE,uImage,$(MAX_KERNEL_SIZE_8M))
|
||||||
@$(call CHECK_SIZE,rootfs.squashfs,$(MAX_ROOTFS_SIZE_LITE))
|
@$(call CHECK_SIZE,rootfs.squashfs,$(MAX_ROOTFS_SIZE_8M))
|
||||||
else
|
else
|
||||||
@$(call CHECK_SIZE,uImage,$(MAX_KERNEL_SIZE_ULTIMATE))
|
@$(call CHECK_SIZE,uImage,$(MAX_KERNEL_SIZE_16M))
|
||||||
@$(call CHECK_SIZE,rootfs.squashfs,$(MAX_ROOTFS_SIZE_ULTIMATE))
|
@$(call CHECK_SIZE,rootfs.squashfs,$(MAX_ROOTFS_SIZE_16M))
|
||||||
endif
|
endif
|
||||||
@$(call REPACK_FIRMWARE,uImage,rootfs.squashfs,nor)
|
@$(call REPACK_FIRMWARE,uImage,rootfs.squashfs,nor)
|
||||||
endif
|
endif
|
||||||
ifeq ($(BR2_TARGET_ROOTFS_UBI),y)
|
ifeq ($(BR2_TARGET_ROOTFS_UBI),y)
|
||||||
$(eval KERNEL_BIN = $(or $(BR2_LINUX_KERNEL_IMAGE_NAME),uImage))
|
$(eval KERNEL_BIN = $(or $(BR2_LINUX_KERNEL_IMAGE_NAME),uImage))
|
||||||
@$(call CHECK_SIZE,$(KERNEL_BIN),$(MAX_KERNEL_SIZE_NAND))
|
@$(call CHECK_SIZE,$(KERNEL_BIN),$(MAX_KERNEL_SIZE_128M))
|
||||||
@$(call CHECK_SIZE,rootfs.ubi,$(MAX_ROOTFS_SIZE_NAND))
|
@$(call CHECK_SIZE,rootfs.ubi,$(MAX_ROOTFS_SIZE_128M))
|
||||||
@$(call REPACK_FIRMWARE,$(KERNEL_BIN),rootfs.ubi,nand)
|
@$(call REPACK_FIRMWARE,$(KERNEL_BIN),rootfs.ubi,nand)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue