Deleted Added
full compact
Makefile (268111) Makefile (272414)
1# $FreeBSD: head/release/Makefile 268111 2014-07-01 19:04:04Z gjb $
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)
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

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

89.endif
90.if exists(${.CURDIR}/${TARGET}/make-memstick.sh)
91RELEASE_TARGETS+= memstick.img
92RELEASE_TARGETS+= mini-memstick.img
93IMAGES+= memstick.img
94IMAGES+= mini-memstick.img
95.endif
96
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
97CLEANFILES= packagesystem *.txz MANIFEST system ${IMAGES}
98.if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES)
99. for I in ${IMAGES}
100CLEANFILES+= ${I}.xz
101. endfor
102.endif
103.if defined(WITH_DVD) && !empty(WITH_DVD)
104CLEANFILES+= pkg-stage
105.endif
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
106CLEANDIRS= dist ftp release bootonly dvd
120CLEANDIRS= dist ftp release bootonly dvd
121.if defined(WITH_VMIMAGES) && !empty(WITH_VMIMAGES)
122CLEANDIRS+= ${VMTARGETS}
123.endif
107beforeclean:
108 chflags -R noschg .
109.include <bsd.obj.mk>
110clean: beforeclean
111
112base.txz:
113 mkdir -p ${DISTDIR}
114 cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR}

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

258ftp: packagesystem
259 rm -rf ftp
260 mkdir -p ftp
261 cp *.txz MANIFEST ftp
262
263release:
264 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj
265 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS}
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
266
267install:
268.if defined(DESTDIR) && !empty(DESTDIR)
269 mkdir -p ${DESTDIR}
270.endif
271 cp -a ftp ${DESTDIR}/
272.for I in ${IMAGES}
273 cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I}
274. if defined(WITH_COMPRESSED_IMAGES) && !empty(WITH_COMPRESSED_IMAGES)
275 ${XZCMD} -k ${DESTDIR}/${OSRELEASE}-${I}
276. endif
277.endfor
278 cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256
279 cd ${DESTDIR} && md5 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.MD5
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}