Deleted Added
sdiff udiff text old ( 268111 ) new ( 272414 )
full compact
1# $FreeBSD: head/release/Makefile 272414 2014-10-02 16:13:12Z 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)
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)
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

--- 55 unchanged lines hidden (view full) ---

92.endif
93.if exists(${.CURDIR}/${TARGET}/make-memstick.sh)
94RELEASE_TARGETS+= memstick.img
95RELEASE_TARGETS+= mini-memstick.img
96IMAGES+= memstick.img
97IMAGES+= mini-memstick.img
98.endif
99
100VMTARGETS= vm-base vm-image
101VMFORMATS?= vhd vmdk qcow2 raw
102VMSIZE?= 20G
103VMBASE?= vm
104
105CLEANFILES= packagesystem *.txz MANIFEST system ${IMAGES}
106.if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES)
107. for I in ${IMAGES}
108CLEANFILES+= ${I}.xz
109. endfor
110.endif
111.if defined(WITH_DVD) && !empty(WITH_DVD)
112CLEANFILES+= pkg-stage
113.endif
114.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
115CLEANFILES+= ${VMBASE}.img
116. for FORMAT in ${VMFORMATS}
117CLEANFILES+= ${VMBASE}.${FORMAT}
118. endfor
119.endif
120CLEANDIRS= dist ftp release bootonly dvd
121.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
122CLEANDIRS+= ${VMTARGETS}
123.endif
124beforeclean:
125 chflags -R noschg .
126.include <bsd.obj.mk>
127clean: beforeclean
128
129base.txz:
130 mkdir -p ${DISTDIR}
131 cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR}

--- 143 unchanged lines hidden (view full) ---

275ftp: packagesystem
276 rm -rf ftp
277 mkdir -p ftp
278 cp *.txz MANIFEST ftp
279
280release:
281 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj
282 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS}
283.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
284 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${VMTARGETS}
285.endif
286
287install:
288.if defined(DESTDIR) && !empty(DESTDIR)
289 mkdir -p ${DESTDIR}
290.endif
291 cp -a ftp ${DESTDIR}/
292.for I in ${IMAGES}
293 cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I}
294. if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES)
295 ${XZCMD} -k ${DESTDIR}/${OSRELEASE}-${I}
296. endif
297.endfor
298 cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256
299 cd ${DESTDIR} && md5 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.MD5
300.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
301 mkdir -p ${DESTDIR}/vmimages
302. for FORMAT in ${VMFORMATS}
303 cp -p ${VMBASE}.${FORMAT} \
304 ${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT}
305. endfor
306. if defined(WITH_COMPRESSED_VMIMAGES) && !empty(WITH_COMPRESSED_VMIMAGES)
307# This is very time consuming, so defer it after the images are moved to
308# the DESTDIR.
309. for FORMAT in ${VMFORMATS}
310 # Don't keep the originals. There is a copy in ${.OBJDIR} if needed.
311 ${XZCMD} ${DESTDIR}/vmimages/${OSRELEASE}.${FORMAT}
312. endfor
313. endif
314 cd ${DESTDIR}/vmimages && sha256 ${OSRELEASE}* > \
315 ${DESTDIR}/vmimages/CHECKSUM.SHA256
316 cd ${DESTDIR}/vmimages && md5 ${OSRELEASE}* > \
317 ${DESTDIR}/vmimages/CHECKSUM.MD5
318.endif
319
320vm-base:
321.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
322. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh)
323 env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
324 ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \
325 ${VMBASE}.img ${WORLDDIR} ${.OBJDIR}/${.TARGET} ${VMSIZE}
326. endif
327.endif
328 touch ${.TARGET}
329
330vm-image: vm-base
331.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
332. if exists(${.CURDIR}/${TARGET}/mk-vmimage.sh)
333. for FORMAT in ${VMFORMATS}
334 env TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \
335 ${.CURDIR}/${TARGET}/mk-vmimage.sh ${.TARGET} \
336 ${VMBASE}.img ${FORMAT} ${VMBASE}.${FORMAT}
337. endfor
338. endif
339.endif
340 touch ${.TARGET}