Projecte

General

Perfil

« Anterior | Següent » 

Revisió 941ebf1c

Afegit per Roger Pueyo Centelles fa aproximadament 8 anys

Improve customization of firmware images in Makefile

Visualitza les diferències:

Makefile
# Agustí Moll
# Roger Pueyo Centelles
# Base distribution sources clone URLs
LEDE_SOURCE_CLONE = git clone http://git.lede-project.org/source.git
LEDE_PKG_CLONE = git clone https://git.lede-project.org/feed/packages.git
LEDE_PKG_CLONE = git clone https://git.lede-project.org/feed/packages.git
# qMp packages source clone URLs and settings
QMP_GIT_RW = ssh://gitolite@dev.qmp.cat:qmp.git
QMP_GIT_RO = http://dev.qmp.cat/qmp.git
QMP_GIT_BRANCH ?= testing
QMP_CODENAME ?= Kalimotxo
QMP_RELEASE ?= trunk
QMP_FEED = package/feeds/qmp_packages
# Distribution naming
VERSION_DIST ?= qMp
VERSION_MANUFACTURER ?= "Quick Mesh Project"
VERSION_MANUFACTURER_URL ?= https://www.qmp.cat
VERSION_BUG_URL ?= https://dev.qmp.cat/projects/qmp/issues
VERSION_SUPPORT_URL ?= https://dev.qmp.cat/projects/qmp/wiki
# Distribution versioning (e.g. Ratafia 2.0, Clearance testing, Kalimotxo trunk)
VERSION_NICK ?= Kalimotxo
VERSION_NUMBER ?= trunk
# Distribution repository
VERSION_REPO="http://fw.qmp.cat/Releases/%v-%N"
# Image customization
IMAGEOPT ?= true
VERSIONOPT ?= true
EXTRA_PACKAGES ?=
QMP_COMMUNITY ?=
DISTCL = `echo $(VERSION_DIST) | tr A-Z a-z`
#Compilation options
J ?= 1
V ?= 0
TBUILD ?= lede
BUILD_DIR = build
CONFIG_DIR = configs
MY_CONFIGS = $(BUILD_DIR)/configs
IMAGES = images
SHELL = bash
SCRIPTS_DIR= scripts
J ?= 1
V ?= 0
TBUILD ?= lede
MAKE_SRC = -j$(J) V=$(V)
IMAGEOPT ?= true
VERSIONOPT ?= true
VERSION_REPO ?= http://downloads.lede-project.org/snapshots
VERSION_DIST ?= qMp
VERSION_NICK ?= Kalimotxo
VERSION_CODE ?= Kalimotxo
VERSION_NUMBER ?= trunk
COMMUNITY ?= qMp
EXTRA_PACKS =
DISTCL = `echo $(VERSION_DIST) | tr A-Z a-z`
include targets.mk
......
.PHONY: checkout clean clean_qmp compile config kernel_menuconfig menuconfig list_archs list_targets post_build pre_build update
define build_src
$(eval BRANCH_GIT=$(shell git --git-dir=$(BUILD_DIR)/qmp/.git branch|grep ^*|cut -d " " -f 2))
$(eval REV_GIT=$(shell git --git-dir=$(BUILD_DIR)/qmp/.git --no-pager log -n 1 --oneline|cut -d " " -f 1))
@if [ ! $(REBUILD) -a $(MPNAME) -a -f .build_src_$(ARCH)-$(SUBARCH) ]; then \
echo Multi-profile target $(ARCH)-$(SUBARCH) already compiled; \
else \
echo Compiling multi-profile target $(ARCH)-$(SUBARCH); \
make -C $(BUILD_PATH) $(MAKE_SRC) IMAGEOPT=$(IMAGEOPT) VERSIONOPT=$(VERSIONOPT) VERSION_REPO=$(VERSION_REPO) VERSION_DIST=$(VERSION_DIST) VERSION_NICK=$(VERSION_NICK) VERSION_NUMBER=$(VERSION_NUMBER) VERSION_CODE=$(VERSION_CODE) BRANCH_GIT=$(BRANCH_GIT) REV_GIT=$(REV_GIT) QMP_CODENAME=$(QMP_CODENAME) QMP_RELEASE=$(QMP_RELEASE); \
make -C $(BUILD_PATH) $(MAKE_SRC) IMAGEOPT=$(IMAGEOPT) VERSIONOPT=$(VERSIONOPT) VERSION_REPO=$(VERSION_REPO) VERSION_DIST=$(VERSION_DIST) VERSION_NICK=$(VERSION_NICK) VERSION_NUMBER=$(VERSION_NUMBER) VERSION_MANUFACTURER=$(VERSION_MANUFACTURER) VERSION_MANUFACTURER_URL=$(VERSION_MANUFACTURER_URL) VERSION_BUG_URL=$(VERSION_BUG_URL) VERSION_SUPPORT_URL=$(VERSION_SUPPORT_URL) BRANCH_GIT=$(QMP_GIT_BRANCH) REV_GIT=$(REV_GIT) QMP_CODENAME=$(VERSION_NICK) QMP_RELEASE=$(VERSION_NUMBER); \
touch .build_src_$(ARCH)-$(SUBARCH); \
fi
......
define pre_build
@echo "Executing PRE_BUILD scripts"
$(foreach SCRIPT, $(wildcard $(SCRIPTS_DIR)/*.script), $(shell $(SCRIPT) PRE_BUILD $(TBUILD) $(TARGET) $(EXTRA_PACKS)) )
$(foreach SCRIPT, $(wildcard $(SCRIPTS_DIR)/*.script), $(shell $(SCRIPT) PRE_BUILD $(TBUILD) $(TARGET) $(EXTRA_PACKAGESS)) )
endef
define post_build
......
endef
define post_build_target
$(eval BRANCH_GIT=$(shell git --git-dir=$(BUILD_DIR)/qmp/.git branch|grep ^*|cut -d " " -f 2))
$(if $(IM_NAME),,$(eval IM_NAME=$(COMMUNITY)_$(VERSION_NUMBER)-$(VERSION_NICK)_$(NAME)_factory_$(TIMESTAMP).bin))
$(if $(SIM_NAM),,$(eval SIM_NAME=$(COMMUNITY)_$(VERSION_NUMBER)-$(VERSION_NICK)_$(NAME)_sysupgrade_$(TIMESTAMP).bin))
$(if $(QMP_COMMUNITY),$(if $(IM_NAM),,$(eval IM_NAME=$(VERSION_DIST)-$(QMP_COMMUNITY)_$(VERSION_NUMBER)-$(VERSION_NICK)_$(NAME)_factory_$(TIMESTAMP).bin)),$(if $(IM_NAM),,$(eval IM_NAME=$(VERSION_DIST)_$(VERSION_NUMBER)-$(VERSION_NICK)_$(NAME)_factory_$(TIMESTAMP).bin)))
$(if $(QMP_COMMUNITY),$(if $(SIM_NAM),,$(eval SIM_NAME=$(VERSION_DIST)-$(COMMUNITY)_$(VERSION_NUMBER)-$(VERSION_NICK)_$(NAME)_sysupgrade_$(TIMESTAMP).bin)),$(if $(SIM_NAM),,$(eval SIM_NAME=$(VERSION_DIST)_$(VERSION_NUMBER)-$(VERSION_NICK)_$(NAME)_sysupgrade_$(TIMESTAMP).bin)))
$(eval COMP=$(shell ls $(BUILD_PATH)/$(IMAGE_PATH) 2>/dev/null | grep -c \\.gz))
mkdir -p $(IMAGES)
-@[ $(COMP) -eq 1 ] && gunzip $(BUILD_PATH)/$(IMAGE_PATH) -c > $(IMAGES)/$(IM_NAME)
......
@echo $(IM_NAME)
$(if $(SYSUPGRADE),@echo $(SIM_NAME))
@echo "Executing POST_BUILD scripts"
$(foreach SCRIPT, $(wildcard $(SCRIPTS_DIR)/*.script), $(shell $(SCRIPT) POST_BUILD $(TBUILD) $(TARGET) $(EXTRA_PACKS)) )
$(foreach SCRIPT, $(wildcard $(SCRIPTS_DIR)/*.script), $(shell $(SCRIPT) POST_BUILD $(TBUILD) $(TARGET) $(EXTRA_PACKAGESS)) )
@echo "qMp firmware compiled, you can find output files in $(IMAGES) directory."
endef

També disponible a: Unified diff