Commit cd3e47c5 authored by Michael Shigorin's avatar Michael Shigorin

introduced NICE variable

This one regulates the build wrapper: if the value is non-empty then nice(1) and ionice(1) will be attempted so that the build behaves better in regard to other tasks running on the system. A few doc/variables.txt updates along the way.
parent 102aa385
......@@ -9,5 +9,8 @@
# spares tmpfs, quite recommended unless you need raw workdir chroots
#CLEAN = 1
# run with lower CPU and I/O priorities
#NICE = 1
# try and draw attention when done (depends on readline/terminal settings)
#BELL = 1
......@@ -9,16 +9,16 @@
+ см. ../image.in/Makefile, apt.conf.sample
- ARCH
+ определяет целевую архитектуру образа
+ задаёт целевую архитектуру образа
+ значение: пусто (по умолчанию авто), i586 или x86_64
+ см. ../lib/build.mk
- BELL
+ требует подачу сигнала после завершения сборки
+ подаёт сигнал после завершения сборки
+ см. ../lib/build.mk
- BUILDDIR
+ определяет каталог генерируемого профиля и сборки
+ задаёт каталог генерируемого профиля и сборки
+ значение: пусто (по умолчанию авто) либо строка
+ см. ../lib/profile.mk
......@@ -30,10 +30,15 @@
+ см. ../lib/clean.mk
- DEBUG
+ включение средств отладки
+ включает средства отладки
+ значение: пусто (по умолчанию), 1 или 2
+ см. ../lib/log.mk
- NICE
+ понижает нагрузку системы сборочной задачей
+ значение: пусто (по умолчанию) либо любая строка
+ см. ../lib/build.mk
пример
~~~~~~
make DEBUG=1 CLEAN=1 syslinux.iso
make DEBUG=1 CLEAN=1 distro/syslinux.iso
......@@ -4,10 +4,19 @@ ifndef MKIMAGE_PROFILES
$(error this makefile is designed to be included in toplevel one)
endif
# NB: /usr/bin/{i586,x86_64} are setarch(8) symlinks
export ARCH ?= $(shell arch | sed 's/i686/i586/')
# try not to bog down the system, both CPU and I/O wise
ifdef NICE
START := nice $(shell ionice -c3 echo "ionice -c3" 2>/dev/null)
endif
# it's also nice to know how long and much it takes
START += time -f "%E %PCPU %Mk"
# /usr/bin/{i586,x86_64} are setarch(8) symlinks
START += $(ARCH)
# to be passed into distcfg.mk
IMAGEDIR ?= $(shell [ -d "$$HOME/out" -a -w "$$HOME/out" ] \
&& echo "$$HOME/out" \
......@@ -24,9 +33,7 @@ build: profile/populate
echo " (coffee time)"; \
fi; \
fi
@if time -f "%E %PCPU %Mk" $(ARCH) \
$(MAKE) -C $(BUILDDIR)/ $(LOG); \
then \
@if $(START) $(MAKE) -C $(BUILDDIR)/ $(LOG); then \
echo "$(TIME) build done (`tail -1 $(BUILDLOG) | cut -f1 -d. \
|| echo "no log"`)"; \
else \
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment