Deleted Added
full compact
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}