2011-10-06 12:46:31 +04:00
# stage 4: dive into mkimage
2010-12-03 17:53:02 +03:00
2011-10-06 12:46:31 +04:00
GLOBAL_BUILDDIR ?= $( shell pwd )
2011-11-05 13:03:48 +04:00
CURRENT_LINK := mkimage-profiles
OUT_LINK := out
2011-06-12 19:06:36 +04:00
2011-11-08 02:07:38 +04:00
# there were mkimage fixes induced by mkimage-profile development
MKI_VER_MINIMAL = 0.1.7
MKI_VER_OPTIMAL = 0.2.0
2011-10-06 12:46:31 +04:00
i n c l u d e d i s t c f g . m k
2010-08-28 20:28:42 +04:00
i n c l u d e f u n c t i o n s . m k
2012-01-05 00:30:56 +04:00
i f e q ( , $( realpath $ ( MKIMAGE_PREFIX ) /config .mk ) )
$( error please apt -get install mkimage and have a look at QUICKSTART as well )
e n d i f
2012-01-21 23:39:28 +04:00
i n c l u d e $( MKIMAGE_PREFIX ) / c o n f i g . m k
2011-11-08 02:07:38 +04:00
i f e q ( - , $( shell rpmvercmp $ ( MKI_VERSION ) $ ( MKI_VER_MINIMAL ) | tr -d [0-9]) )
$(info error : mkimage -$( MKI_VERSION ) is too old , please upgrade )
$( error mkimage is too old , $ ( MKI_VER_MINIMAL ) is minimal supported version )
e n d i f
i f e q ( - , $( shell rpmvercmp $ ( MKI_VERSION ) $ ( MKI_VER_OPTIMAL ) | tr -d [0-9]) )
$(info warning : mkimage -$( MKI_VERSION ) is suboptimal , consider upgrading )
$( warning consider upgrading mkimage to $ ( MKI_VER_OPTIMAL ) or better )
e n d i f
2011-10-06 12:46:31 +04:00
# reconstruct instead of passing yet another variable
2011-11-05 13:03:48 +04:00
IMAGE_LINK := $( IMAGE_NAME) .$( IMAGE_TYPE)
2011-10-06 12:46:31 +04:00
IMAGE_OUTFILE := $( IMAGE_NAME) -$( DATE) -$( ARCH) .$( IMAGE_TYPE)
MKI_PACK_RESULTS = $( IMAGE_PACKTYPE) :$( IMAGE_OUTFILE)
2010-08-28 20:28:42 +04:00
2011-10-06 12:46:31 +04:00
# these get opied over as is
2010-09-09 13:50:29 +04:00
COPY_TREE = ./files
2010-08-28 20:28:42 +04:00
2011-05-11 23:40:47 +04:00
# outdir shouldn't be wiped clean before use
2011-06-14 18:25:55 +04:00
CLEANUP_OUTDIR ?=
2011-05-11 23:40:47 +04:00
2011-11-04 02:14:18 +04:00
GLOBAL_HSH_APT_CONFIG := $( wildcard $( APTCONF) )
2010-09-27 23:02:57 +04:00
2011-10-06 12:46:31 +04:00
# the lib/build-*.mk comes from features.in/build-*/lib
i n c l u d e l i b / * . m k
2010-09-08 16:47:06 +04:00
i n c l u d e $( MKIMAGE_PREFIX ) / t a r g e t s . m k
2010-08-28 20:28:42 +04:00
2011-10-06 12:46:31 +04:00
# specified only for the final image (target-specific)
pack-image : OUTDIR = $( IMAGEDIR )
2011-11-09 23:14:22 +04:00
pack-image : imagedir
2011-07-15 01:00:46 +04:00
2012-02-08 00:21:33 +04:00
copy-tree : $( SAVE_PROFILE :%=save -profile )
save-profile :
@mkdir -p files/.disk; \
git archive --prefix= mkimage-profile/ HEAD \
| gzip -9 > files/.disk/profile.tgz
2011-11-09 23:14:22 +04:00
.PHONY : imagedir postprocess debug
imagedir :
2011-09-03 13:34:53 +04:00
@mkdir -p " $( IMAGEDIR) "
2011-05-11 23:40:47 +04:00
2011-12-12 19:34:00 +04:00
postprocess : | $( addprefix postprocess -,$ ( sort $ ( POSTPROCESS_TARGETS ) ) )
2011-10-06 12:46:31 +04:00
@OUTPATH= " $( IMAGEDIR) / $( IMAGE_OUTFILE) " ; \
2012-03-29 03:58:24 +04:00
OUTSIZE = "`ls -lh " $$ OUTPATH" | cut -f5 -d' '`" ; \
echo " ** image: $$ OUTPATH [ $$ OUTSIZE] " >& 2 && \
2011-11-05 13:03:48 +04:00
ln -sf " $( IMAGE_OUTFILE) " " $( IMAGEDIR) / $( IMAGE_LINK) " && \
ln -sf " $$ {IMAGEDIR#`pwd`/} " " $( OUT_LINK) " ; \
ln -sf " $( IMAGE_LINK) " $( OUT_LINK) /" $( CURRENT_LINK) . $( IMAGE_TYPE) " ; \
2011-10-06 12:46:31 +04:00
if [ -n " $( GLOBAL_DEBUG) " ] ; then \
cp -a build.log " $$ OUTPATH.log " ; \
cp -a distcfg.mk " $$ OUTPATH.cfg " ; \
fi
2010-09-27 23:02:57 +04:00
debug :
2011-06-14 18:25:55 +04:00
@echo " TOPDIR= $( TOPDIR) "
2011-12-30 14:46:58 +04:00
@echo " IMAGEDIR= $( IMAGEDIR) "
2011-06-14 18:25:55 +04:00
@echo " ARCH= $( ARCH) "
@echo " GLOBAL_HSH_APT_CONFIG= $( GLOBAL_HSH_APT_CONFIG) "