Makefile (258312) | Makefile (259530) |
---|---|
1# $FreeBSD: stable/9/release/Makefile 258312 2013-11-18 17:03:11Z gjb $ | 1# $FreeBSD: stable/9/release/Makefile 259530 2013-12-18 00:07:52Z gjb $ |
2# 3# Makefile for building releases and release media. 4# 5# User-driven targets: 6# cdrom: Builds release CD-ROM media (disc1.iso) | 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) |
|
7# memstick: Builds memory stick image (memstick.img) 8# mini-memstick: Builds minimal memory stick image (mini-memstick.img) 9# ftp: Sets up FTP distribution area (ftp) 10# release: Build all media and FTP distribution area 11# install: Copies all release media into ${DESTDIR} 12# 13# Variables affecting the build process: 14# WORLDDIR: location of src tree -- must have built world and default kernel 15# (by default, the directory above this one) 16# PORTSDIR: location of ports tree to distribute (default: /usr/ports) 17# DOCDIR: location of doc tree (default: /usr/doc) 18# NOPORTS: if set, do not distribute ports tree 19# NOSRC: if set, do not distribute source tree 20# NODOC: if set, do not generate release documentation | 8# memstick: Builds memory stick image (memstick.img) 9# mini-memstick: Builds minimal memory stick image (mini-memstick.img) 10# ftp: Sets up FTP distribution area (ftp) 11# release: Build all media and FTP distribution area 12# install: Copies all release media into ${DESTDIR} 13# 14# Variables affecting the build process: 15# WORLDDIR: location of src tree -- must have built world and default kernel 16# (by default, the directory above this one) 17# PORTSDIR: location of ports tree to distribute (default: /usr/ports) 18# DOCDIR: location of doc tree (default: /usr/doc) 19# NOPORTS: if set, do not distribute ports tree 20# NOSRC: if set, do not distribute source tree 21# NODOC: if set, do not generate release documentation |
22# WITH_DVD: if set, generate dvd1.iso |
|
21# TARGET/TARGET_ARCH: architecture of built release 22# 23 24WORLDDIR?= ${.CURDIR}/.. 25PORTSDIR?= /usr/ports 26DOCDIR?= /usr/doc 27RELNOTES_LANG?= en_US.ISO8859-1 28 | 23# TARGET/TARGET_ARCH: architecture of built release 24# 25 26WORLDDIR?= ${.CURDIR}/.. 27PORTSDIR?= /usr/ports 28DOCDIR?= /usr/doc 29RELNOTES_LANG?= en_US.ISO8859-1 30 |
29TARGET?= ${MACHINE} | 31.if !defined(TARGET) || empty(TARGET) 32TARGET= ${MACHINE} 33.endif 34.if !defined(TARGET_ARCH) || empty(TARGET_ARCH) |
30.if ${TARGET} == ${MACHINE} | 35.if ${TARGET} == ${MACHINE} |
31TARGET_ARCH?= ${MACHINE_ARCH} | 36TARGET_ARCH= ${MACHINE_ARCH} |
32.else | 37.else |
33TARGET_ARCH?= ${TARGET} | 38TARGET_ARCH= ${TARGET} |
34.endif | 39.endif |
40.endif |
|
35IMAKE= ${MAKE} TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET} 36DISTDIR= dist 37 38# Define OSRELEASE by using newvars.sh 39.if !defined(OSRELEASE) || empty(OSRELEASE) 40.for _V in TYPE BRANCH REVISION 41${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR}/../sys/conf/newvers.sh); echo $$${_V} 42.endfor --- 24 unchanged lines hidden (view full) --- 67EXTRA_PACKAGES+= reldoc 68.endif 69 70RELEASE_TARGETS= ftp 71IMAGES= 72.if exists(${.CURDIR}/${TARGET}/mkisoimages.sh) 73RELEASE_TARGETS+= cdrom 74IMAGES+= disc1.iso bootonly.iso | 41IMAKE= ${MAKE} TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET} 42DISTDIR= dist 43 44# Define OSRELEASE by using newvars.sh 45.if !defined(OSRELEASE) || empty(OSRELEASE) 46.for _V in TYPE BRANCH REVISION 47${_V}!= eval $$(awk '/^${_V}=/{print}' ${.CURDIR}/../sys/conf/newvers.sh); echo $$${_V} 48.endfor --- 24 unchanged lines hidden (view full) --- 73EXTRA_PACKAGES+= reldoc 74.endif 75 76RELEASE_TARGETS= ftp 77IMAGES= 78.if exists(${.CURDIR}/${TARGET}/mkisoimages.sh) 79RELEASE_TARGETS+= cdrom 80IMAGES+= disc1.iso bootonly.iso |
81. if defined(WITH_DVD) && !empty(WITH_DVD) 82RELEASE_TARGETS+= dvdrom 83IMAGES+= dvd1.iso 84. endif |
|
75.endif 76.if exists(${.CURDIR}/${TARGET}/make-memstick.sh) 77RELEASE_TARGETS+= memstick.img 78RELEASE_TARGETS+= mini-memstick.img 79IMAGES+= memstick.img 80IMAGES+= mini-memstick.img 81.endif 82 | 85.endif 86.if exists(${.CURDIR}/${TARGET}/make-memstick.sh) 87RELEASE_TARGETS+= memstick.img 88RELEASE_TARGETS+= mini-memstick.img 89IMAGES+= memstick.img 90IMAGES+= mini-memstick.img 91.endif 92 |
93CLEANFILES= packagesystem *.txz MANIFEST system ${IMAGES} 94CLEANDIRS= dist ftp release bootonly dvd 95beforeclean: 96 chflags -R noschg . |
|
83.include <bsd.obj.mk> | 97.include <bsd.obj.mk> |
98clean: beforeclean |
|
84 85base.txz: 86 mkdir -p ${DISTDIR} 87 cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR} 88# Set up mergemaster root database 89 sh ${.CURDIR}/scripts/mm-mtree.sh -m ${WORLDDIR} -F \ 90 "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" -D "${.OBJDIR}/${DISTDIR}/base" 91# Package all components --- 68 unchanged lines hidden (view full) --- 160 cp reldoc/* bootonly 161.endif 162# Set up installation environment 163 ln -fs /tmp/bsdinstall_etc/resolv.conf bootonly/etc/resolv.conf 164 echo sendmail_enable=\"NONE\" > bootonly/etc/rc.conf 165 echo hostid_enable=\"NO\" >> bootonly/etc/rc.conf 166 cp ${.CURDIR}/rc.local bootonly/etc 167 | 99 100base.txz: 101 mkdir -p ${DISTDIR} 102 cd ${WORLDDIR} && ${IMAKE} distributeworld DISTDIR=${.OBJDIR}/${DISTDIR} 103# Set up mergemaster root database 104 sh ${.CURDIR}/scripts/mm-mtree.sh -m ${WORLDDIR} -F \ 105 "TARGET_ARCH=${TARGET_ARCH} TARGET=${TARGET}" -D "${.OBJDIR}/${DISTDIR}/base" 106# Package all components --- 68 unchanged lines hidden (view full) --- 175 cp reldoc/* bootonly 176.endif 177# Set up installation environment 178 ln -fs /tmp/bsdinstall_etc/resolv.conf bootonly/etc/resolv.conf 179 echo sendmail_enable=\"NONE\" > bootonly/etc/rc.conf 180 echo hostid_enable=\"NO\" >> bootonly/etc/rc.conf 181 cp ${.CURDIR}/rc.local bootonly/etc 182 |
183dvd: 184# Install system 185 mkdir -p ${.TARGET} 186 cd ${WORLDDIR} && ${IMAKE} installkernel installworld distribution \ 187 DESTDIR=${.OBJDIR}/${.TARGET} WITHOUT_RESCUE=1 WITHOUT_KERNEL_SYMBOLS=1 188# Copy distfiles 189 mkdir -p ${.TARGET}/usr/freebsd-dist 190 cp *.txz MANIFEST ${.TARGET}/usr/freebsd-dist 191# Copy documentation, if generated 192.if !defined(NODOC) 193 cp reldoc/* ${.TARGET} 194.endif 195# Set up installation environment 196 ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf 197 echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf 198 echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf 199 cp ${.CURDIR}/rc.local ${.TARGET}/etc 200 touch ${.TARGET} 201 |
|
168release/cdrom.inf: system 169 echo "CD_VERSION = ${REVISION}-${BRANCH}" > ${.TARGET} 170 echo "CD_VOLUME = 1" >> ${.TARGET} 171 172release.iso: disc1.iso 173disc1.iso: system release/cdrom.inf 174 sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} release 175 | 202release/cdrom.inf: system 203 echo "CD_VERSION = ${REVISION}-${BRANCH}" > ${.TARGET} 204 echo "CD_VOLUME = 1" >> ${.TARGET} 205 206release.iso: disc1.iso 207disc1.iso: system release/cdrom.inf 208 sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} release 209 |
210dvd1.iso: dvd pkg-stage 211 sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} dvd 212 |
|
176bootonly/cdrom.inf: bootonly 177 echo "CD_VERSION = ${REVISION}-${BRANCH}" > ${.TARGET} 178 echo "CD_VOLUME = 1" >> ${.TARGET} 179 180bootonly.iso: bootonly bootonly/cdrom.inf 181 sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} bootonly 182 183memstick: memstick.img 184memstick.img: system 185 sh ${.CURDIR}/${TARGET}/make-memstick.sh release ${.TARGET} 186 187mini-memstick: mini-memstick.img 188mini-memstick.img: system 189 sh ${.CURDIR}/${TARGET}/make-memstick.sh bootonly ${.TARGET} 190 191packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES} 192 sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST 193 touch ${.TARGET} 194 | 213bootonly/cdrom.inf: bootonly 214 echo "CD_VERSION = ${REVISION}-${BRANCH}" > ${.TARGET} 215 echo "CD_VOLUME = 1" >> ${.TARGET} 216 217bootonly.iso: bootonly bootonly/cdrom.inf 218 sh ${.CURDIR}/${TARGET}/mkisoimages.sh -b FreeBSD_Install ${.TARGET} bootonly 219 220memstick: memstick.img 221memstick.img: system 222 sh ${.CURDIR}/${TARGET}/make-memstick.sh release ${.TARGET} 223 224mini-memstick: mini-memstick.img 225mini-memstick.img: system 226 sh ${.CURDIR}/${TARGET}/make-memstick.sh bootonly ${.TARGET} 227 228packagesystem: base.txz kernel.txz ${EXTRA_PACKAGES} 229 sh ${.CURDIR}/scripts/make-manifest.sh *.txz > MANIFEST 230 touch ${.TARGET} 231 |
232pkg-stage: 233.if(exists(${.CURDIR}/${TARGET}/pkg-stage.conf)) 234 sh ${.CURDIR}/scripts/pkg-stage.sh ${.CURDIR}/${TARGET}/pkg-stage.conf \ 235 ${REVISION} 236.endif 237 |
|
195cdrom: disc1.iso bootonly.iso | 238cdrom: disc1.iso bootonly.iso |
239dvdrom: dvd1.iso |
|
196ftp: packagesystem 197 rm -rf ftp 198 mkdir -p ftp 199 cp *.txz MANIFEST ftp 200 201release: 202 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj 203 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} 204 | 240ftp: packagesystem 241 rm -rf ftp 242 mkdir -p ftp 243 cp *.txz MANIFEST ftp 244 245release: 246 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} obj 247 ${MAKE} -C ${.CURDIR} ${.MAKEFLAGS} ${RELEASE_TARGETS} 248 |
205clean: 206 chflags -R noschg . 207 rm -rf dist ftp 208 rm -f packagesystem 209 rm -f *.txz MANIFEST 210 rm -f system 211 rm -rf release bootonly 212 rm -f disc1.iso bootonly.iso memstick.img 213 | |
214install: 215.if defined(DESTDIR) && !empty(DESTDIR) 216 mkdir -p ${DESTDIR} 217.endif 218 cp -a ftp ${DESTDIR}/ 219.for I in ${IMAGES} 220 cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I} 221.endfor 222 cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 223 cd ${DESTDIR} && md5 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.MD5 | 249install: 250.if defined(DESTDIR) && !empty(DESTDIR) 251 mkdir -p ${DESTDIR} 252.endif 253 cp -a ftp ${DESTDIR}/ 254.for I in ${IMAGES} 255 cp -p ${I} ${DESTDIR}/${OSRELEASE}-${I} 256.endfor 257 cd ${DESTDIR} && sha256 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.SHA256 258 cd ${DESTDIR} && md5 ${OSRELEASE}* > ${DESTDIR}/CHECKSUM.MD5 |