Makefile (272727) | Makefile (273080) |
---|---|
1# $FreeBSD: stable/10/release/Makefile 272727 2014-10-08 04:42:56Z gjb $ | 1# $FreeBSD: stable/10/release/Makefile 273080 2014-10-14 12:23:44Z gjb $ |
2# 3# Makefile for building releases and release media. 4# 5# User-driven targets: 6# cdrom: Builds release CD-ROM media (disc1.iso) 7# dvdrom: Builds release DVD-ROM media (dvd1.iso) 8# memstick: Builds memory stick image (memstick.img) 9# mini-memstick: Builds minimal memory stick image (mini-memstick.img) --- 8 unchanged lines hidden (view full) --- 18# DOCDIR: location of doc tree (default: /usr/doc) 19# NOPKG: if set, do not distribute third-party packages 20# NOPORTS: if set, do not distribute ports tree 21# NOSRC: if set, do not distribute source tree 22# NODOC: if set, do not generate release documentation 23# WITH_DVD: if set, generate dvd1.iso 24# WITH_COMPRESSED_IMAGES: if set, compress installation images with xz(1) 25# (uncompressed images are not removed) | 2# 3# Makefile for building releases and release media. 4# 5# User-driven targets: 6# cdrom: Builds release CD-ROM media (disc1.iso) 7# dvdrom: Builds release DVD-ROM media (dvd1.iso) 8# memstick: Builds memory stick image (memstick.img) 9# mini-memstick: Builds minimal memory stick image (mini-memstick.img) --- 8 unchanged lines hidden (view full) --- 18# DOCDIR: location of doc tree (default: /usr/doc) 19# NOPKG: if set, do not distribute third-party packages 20# NOPORTS: if set, do not distribute ports tree 21# NOSRC: if set, do not distribute source tree 22# NODOC: if set, do not generate release documentation 23# WITH_DVD: if set, generate dvd1.iso 24# WITH_COMPRESSED_IMAGES: if set, compress installation images with xz(1) 25# (uncompressed images are not removed) |
26# WITH_VMIMAGES: if set, build virtual machine images with the release 27# WITH_COMPRESSED_VMIMAGES: if set, compress virtual machine disk images 28# with xz(1) (extremely time consuming) |
|
26# TARGET/TARGET_ARCH: architecture of built release 27# 28 29WORLDDIR?= ${.CURDIR}/.. 30PORTSDIR?= /usr/ports 31DOCDIR?= /usr/doc 32RELNOTES_LANG?= en_US.ISO8859-1 33XZCMD?= /usr/bin/xz --- 71 unchanged lines hidden (view full) --- 105IMAGES+= uefi-disc1.iso 106IMAGES+= uefi-bootonly.iso 107. if defined(WITH_DVD) && !empty(WITH_DVD) 108RELEASE_TARGETS+=uefi-dvd1.iso 109IMAGES+= uefi-dvd1.iso 110. endif 111.endif 112 | 29# TARGET/TARGET_ARCH: architecture of built release 30# 31 32WORLDDIR?= ${.CURDIR}/.. 33PORTSDIR?= /usr/ports 34DOCDIR?= /usr/doc 35RELNOTES_LANG?= en_US.ISO8859-1 36XZCMD?= /usr/bin/xz --- 71 unchanged lines hidden (view full) --- 108IMAGES+= uefi-disc1.iso 109IMAGES+= uefi-bootonly.iso 110. if defined(WITH_DVD) && !empty(WITH_DVD) 111RELEASE_TARGETS+=uefi-dvd1.iso 112IMAGES+= uefi-dvd1.iso 113. endif 114.endif 115 |
116VMTARGETS= vm-base vm-image 117VMFORMATS?= vhd vmdk qcow2 raw 118VMSIZE?= 20G 119VMBASE?= vm 120 |
|
113CLEANFILES= packagesystem *.txz MANIFEST system ${IMAGES} 114.if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES) 115. for I in ${IMAGES} 116CLEANFILES+= ${I}.xz 117. endfor 118.endif 119.if defined(WITH_DVD) && !empty(WITH_DVD) 120CLEANFILES+= pkg-stage 121.endif | 121CLEANFILES= packagesystem *.txz MANIFEST system ${IMAGES} 122.if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES) 123. for I in ${IMAGES} 124CLEANFILES+= ${I}.xz 125. endfor 126.endif 127.if defined(WITH_DVD) && !empty(WITH_DVD) 128CLEANFILES+= pkg-stage 129.endif |
130.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 131CLEANFILES+= ${VMBASE}.img 132. for FORMAT in ${VMFORMATS} 133CLEANFILES+= ${VMBASE}.${FORMAT} 134. endfor 135.endif |
|
122CLEANDIRS= dist ftp release bootonly dvd | 136CLEANDIRS= dist ftp release bootonly dvd |
137.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 138CLEANDIRS+= ${VMTARGETS} 139.endif |
|
123beforeclean: 124 chflags -R noschg . 125.include <bsd.obj.mk> 126clean: beforeclean 127 128base.txz: 129 mkdir -p ${DISTDIR} 130 cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR} --- 161 unchanged lines hidden (view full) --- 292ftp: packagesystem 293 rm -rf ftp 294 mkdir -p ftp 295 cp *.txz MANIFEST ftp 296 297release: 298 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj 299 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} | 140beforeclean: 141 chflags -R noschg . 142.include <bsd.obj.mk> 143clean: beforeclean 144 145base.txz: 146 mkdir -p ${DISTDIR} 147 cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR} --- 161 unchanged lines hidden (view full) --- 309ftp: packagesystem 310 rm -rf ftp 311 mkdir -p ftp 312 cp *.txz MANIFEST ftp 313 314release: 315 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj 316 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} |
317.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 318 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${VMTARGETS} 319.endif |
|
300 301install: 302.if defined(DESTDIR) && !empty(DESTDIR) 303 mkdir -p ${DESTDIR} 304.endif 305 cp -a ftp ${DESTDIR}/ 306.for I in ${IMAGES} 307 cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I} 308. if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES) 309 ${XZCMD} -k ${DESTDIR}/${OSRELEASE}-${I} 310. endif 311.endfor 312 cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 313 cd ${DESTDIR} && md5 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.MD5 | 320 321install: 322.if defined(DESTDIR) && !empty(DESTDIR) 323 mkdir -p ${DESTDIR} 324.endif 325 cp -a ftp ${DESTDIR}/ 326.for I in ${IMAGES} 327 cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I} 328. if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES) 329 ${XZCMD} -k ${DESTDIR}/${OSRELEASE}-${I} 330. endif 331.endfor 332 cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 333 cd ${DESTDIR} && md5 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.MD5 |
334.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 335 mkdir -p ${DESTDIR}/vmimages 336. for FORMAT in ${VMFORMATS} 337 cp -p ${VMBASE}.${FORMAT} \ 338 ${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT} 339. endfor 340. if defined(WITH_COMPRESSED_VMIMAGES) && !empty(WITH_COMPRESSED_VMIMAGES) 341# This is very time consuming, so defer it after the images are moved to 342# the DESTDIR. 343. for FORMAT in ${VMFORMATS} 344 # Don't keep the originals. There is a copy in ${.OBJDIR} if needed. 345 ${XZCMD} ${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT} 346. endfor 347. endif 348 cd ${DESTDIR}/vmimages && sha256 ${OSRELEASE}* > \ 349 ${DESTDIR}/vmimages/CHECKSUM.SHA256 350 cd ${DESTDIR}/vmimages && md5 ${OSRELEASE}* > \ 351 ${DESTDIR}/vmimages/CHECKSUM.MD5 352.endif 353 354vm-base: 355.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 356. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh) 357 env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ 358 ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \ 359 ${VMBASE}.img ${WORLDDIR} ${.OBJDIR}/${.TARGET} ${VMSIZE} 360. endif 361.endif 362 touch ${.TARGET} 363 364vm-image: vm-base 365.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES) 366. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh) 367. for FORMAT in ${VMFORMATS} 368 env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ 369 ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \ 370 ${VMBASE}.img ${FORMAT} ${VMBASE}.${FORMAT} 371. endfor 372. endif 373.endif 374 touch ${.TARGET} |
|