Home | History | Annotate | Line # | Download | only in sets
Makefile revision 1.56.12.1
      1  1.56.12.1      mjf #	$NetBSD: Makefile,v 1.56.12.1 2008/04/03 13:54:13 mjf Exp $
      2        1.1  thorpej 
      3        1.1  thorpej # The `all' target must appear before bsd.own.mk is pulled in.
      4        1.1  thorpej all:
      5        1.1  thorpej 	@echo "Please understand what you are doing, first."
      6        1.1  thorpej 	@false
      7        1.1  thorpej 
      8        1.1  thorpej .include <bsd.own.mk>
      9       1.15    lukem .include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"
     10       1.51      apb GREP?= grep
     11        1.1  thorpej 
     12       1.43    lukem SETSCMD=	cd ${.CURDIR} && \
     13       1.43    lukem 		DESTDIR=${DESTDIR:Q} \
     14        1.6    lukem 		MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
     15       1.49      apb 		CKSUM=${TOOL_CKSUM:Q} \
     16       1.49      apb 		DB=${TOOL_DB:Q} \
     17       1.49      apb 		HOST_SH=${HOST_SH:Q} \
     18       1.49      apb 		MAKE=${MAKE:Q} \
     19       1.49      apb 		MKTEMP=${TOOL_MKTEMP:Q} \
     20       1.49      apb 		MTREE=${TOOL_MTREE:Q} \
     21       1.49      apb 		PAX=${TOOL_PAX:Q} \
     22       1.49      apb 		TSORT=${TSORT:Q} \
     23       1.43    lukem 		${HOST_SH}
     24       1.30     tron 
     25  1.56.12.1      mjf MAKETARS_FLAGS=
     26       1.40    lukem .if ${MKX11} != "no"
     27       1.40    lukem MAKEFLIST_FLAGS=	-b
     28       1.48      jmc MAKESRCTARS_FLAGS=	-x ${X11SRCDIR} -N ${NETBSDSRCDIR}/etc
     29       1.40    lukem .else
     30       1.40    lukem MAKEFLIST_FLAGS=
     31       1.48      jmc MAKESRCTARS_FLAGS= 	-N ${NETBSDSRCDIR}/etc
     32       1.40    lukem .endif
     33       1.40    lukem 
     34  1.56.12.1      mjf .if ${MAKEVERBOSE} != 2
     35  1.56.12.1      mjf MAKETARS_FLAGS+=	-q
     36  1.56.12.1      mjf MAKESRCTARS_FLAGS+= 	-q
     37  1.56.12.1      mjf .endif
     38  1.56.12.1      mjf 
     39       1.33      jmc .if !defined(MAKETARSETS)
     40       1.43    lukem MAKETARSETS!= ${SETSCMD} ./makeflist -l ${MAKEFLIST_FLAGS}
     41       1.33      jmc .endif
     42       1.33      jmc 
     43       1.52      mrg print_have_gcc: .PHONY
     44       1.52      mrg 	@echo ${HAVE_GCC}
     45        1.6    lukem 
     46        1.3  thorpej print_machine: .PHONY
     47        1.3  thorpej 	@echo ${MACHINE}
     48        1.3  thorpej 
     49        1.3  thorpej print_machine_arch: .PHONY
     50        1.3  thorpej 	@echo ${MACHINE_ARCH}
     51        1.3  thorpej 
     52        1.3  thorpej print_machine_cpu: .PHONY
     53        1.3  thorpej 	@echo ${MACHINE_CPU}
     54        1.3  thorpej 
     55        1.3  thorpej print_object_fmt: .PHONY
     56        1.3  thorpej 	@echo ${OBJECT_FMT}
     57        1.3  thorpej 
     58       1.17    lukem print_toolchain_missing: .PHONY
     59       1.17    lukem 	@echo "${TOOLCHAIN_MISSING}"
     60       1.29      mrg 
     61        1.5     tron print_x11_version: .PHONY
     62       1.40    lukem 	${HOST_SH} -c '. ${.CURDIR}/sets.subr; echo $$x11_version'
     63        1.3  thorpej 
     64        1.3  thorpej # This target has debugging value only, really.
     65       1.44     heas makeflist: .PHONY .PRECIOUS check_DESTDIR
     66       1.43    lukem 	${SETSCMD} ./makeflist ${MAKEFLIST_FLAGS}
     67        1.3  thorpej 
     68        1.1  thorpej #
     69        1.1  thorpej # SET BUILDING TARGETS
     70        1.1  thorpej #
     71        1.1  thorpej 
     72       1.46       cl TARDIR=		${RELEASEDIR}/${RELEASEMACHINEDIR}/binary/sets
     73       1.43    lukem SOURCETARDIR=	${RELEASEDIR}/source/sets
     74       1.43    lukem 
     75       1.27    lukem .if ${MKUNPRIVED} == "no"
     76       1.27    lukem METALOG.unpriv=
     77       1.49      apb METALOG.sanitised.unpriv=
     78       1.27    lukem .else
     79       1.27    lukem METALOG.unpriv=	-M ${METALOG}
     80       1.49      apb METALOG.sanitised= ${METALOG}.sanitised
     81       1.49      apb METALOG.sanitised.unpriv= -M ${METALOG.sanitised}
     82       1.27    lukem .endif
     83       1.27    lukem 
     84       1.49      apb .if ${MKUNPRIVED} == "no"
     85       1.49      apb sanitise_METALOG: .PHONY
     86       1.49      apb 	@true
     87       1.49      apb .else
     88       1.49      apb sanitise_METALOG: .PHONY ${METALOG.sanitised}
     89       1.49      apb ${METALOG.sanitised}: ${METALOG}
     90       1.51      apb 	( cat ${NETBSDSRCDIR}/etc/mtree/NetBSD.dist ; \
     91       1.51      apb 		echo '/unset all' ; \
     92       1.51      apb 		cat ${METALOG} ) \
     93       1.54       he 	| ${TOOL_MTREE} -C -k all -N ${NETBSDSRCDIR}/etc > ${METALOG}.new && \
     94       1.54       he 		( rm -f ${METALOG} ; \
     95       1.54       he 		mv ${METALOG}.new ${METALOG} )
     96       1.54       he 	cat ${METALOG} | ${GREP} -v " optional" > ${.TARGET}
     97       1.49      apb .endif
     98       1.49      apb 
     99       1.49      apb .if defined(DESTDIR) && ${DESTDIR} != ""
    100       1.49      apb checkflist_if_DESTDIR: checkflist
    101       1.49      apb .else
    102       1.49      apb checkflist_if_DESTDIR:
    103       1.49      apb .endif
    104       1.43    lukem 
    105       1.49      apb checkflist: .PRECIOUS .PHONY check_DESTDIR sanitise_METALOG
    106       1.49      apb 	${SETSCMD} ${.CURDIR}/checkflist \
    107       1.49      apb 	    ${MAKEFLIST_FLAGS} ${CHECKFLIST_FLAGS} ${METALOG.sanitised.unpriv}
    108        1.4      mrg 
    109       1.41    lukem checkflist-x11: .PHONY check_DESTDIR
    110       1.43    lukem 	${SETSCMD} ./checkflist -x ${CHECKFLIST_FLAGS}
    111       1.43    lukem 
    112        1.1  thorpej 
    113       1.56      apb # Note that the .WAIT inside the ${MAKETARSETS:@...} loop is not
    114       1.56      apb # logically necessary, but many systems exhibit poor performance when
    115       1.56      apb # running multiple parallel disk-intensive processes.
    116       1.49      apb maketars: .PRECIOUS .PHONY check_DESTDIR check_RELEASEDIR \
    117       1.49      apb 		sanitise_METALOG checkflist_if_DESTDIR .WAIT \
    118       1.56      apb 		maketarsetup .WAIT ${MAKETARSETS:@.TARS.@.WAIT do-${.TARS.}@}
    119       1.33      jmc 	@true
    120       1.33      jmc 
    121       1.43    lukem maketarsetup: .EXEC
    122       1.23    veego .if defined(DESTDIR) && ${DESTDIR} != ""
    123       1.43    lukem 	${_MKMSG} "execute  checkflist"
    124       1.32    lukem 	${MAKE} checkflist
    125       1.16    lukem .endif
    126       1.43    lukem 	mkdir -p ${TARDIR}
    127       1.47      jmc 	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
    128       1.43    lukem 		rm -f ${TARDIR}/$$i ${TARDIR}/$$i.tmp; \
    129       1.43    lukem 	done
    130       1.43    lukem 
    131       1.43    lukem makesetfiles: .PHONY
    132       1.43    lukem 	${_MKMSG_CREATE} "set lists"
    133       1.43    lukem 	${SETSCMD} ./maketars -S -d ${DESTDIR:S,^$,/,} ${METALOG.unpriv} \
    134  1.56.12.1      mjf 	    ${MAKETARS_FLAGS} \
    135       1.43    lukem 	    -N ${NETBSDSRCDIR}/etc ${MAKEFLIST_FLAGS} -t ${TARDIR}
    136       1.43    lukem 
    137       1.33      jmc .for tar in ${MAKETARSETS}
    138       1.55      apb do-${tar}: .PHONY sanitise_METALOG
    139  1.56.12.1      mjf 	${_MKMSG_CREATE} "${tar}.tgz"
    140  1.56.12.1      mjf 	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
    141       1.55      apb 	    ${METALOG.sanitised.unpriv} \
    142       1.43    lukem 	    -N ${NETBSDSRCDIR}/etc -t ${TARDIR} ${tar} \
    143       1.43    lukem 	|| rm -f ${TARDIR}/${tar}.tgz
    144       1.33      jmc .endfor
    145        1.1  thorpej 
    146       1.43    lukem 
    147       1.41    lukem makesrctars: .PRECIOUS .PHONY check_RELEASEDIR
    148  1.56.12.1      mjf 	${_MKMSG_CREATE} "source tar files"
    149       1.43    lukem 	mkdir -p ${SOURCETARDIR}
    150       1.45    lukem 	${SETSCMD} ./makesrctars ${MAKESRCTARS_FLAGS} \
    151       1.45    lukem 	    ${NETBSDSRCDIR} ${SOURCETARDIR}
    152       1.43    lukem 
    153       1.25    lukem 
    154       1.41    lukem makesums: .PRECIOUS .PHONY check_RELEASEDIR .WAIT \
    155       1.41    lukem 		${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
    156       1.47      jmc 	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
    157       1.43    lukem 		mv ${TARDIR}/$$i.tmp ${TARDIR}/$$i; \
    158       1.43    lukem 	done
    159       1.33      jmc 
    160       1.33      jmc .for tar in ${MAKETARSETS}
    161       1.39      jmc do-sum-${tar}: .PHONY do-${tar}
    162  1.56.12.1      mjf 	${_MKMSG_CREATE} "${tar} checksums"
    163       1.43    lukem 	${MAKESUMS} -t ${TARDIR} ${tar}.tgz
    164       1.47      jmc 	for i in BSDSUM CKSUM MD5 SHA512 SYSVSUM; do \
    165       1.43    lukem 		${TOOL_CAT} ${TARDIR}/$$i >> ${TARDIR}/$$i.tmp; \
    166       1.35      jmc 	done
    167       1.33      jmc .endfor
    168       1.37      jmc .ORDER: ${MAKETARSETS:@.TARS.@do-sum-${.TARS.}@}
    169       1.18    lukem 
    170       1.43    lukem 
    171       1.49      apb installsets: .PHONY check_DESTDIR sanitise_METALOG
    172       1.18    lukem .if !defined(INSTALLDIR)
    173       1.18    lukem 	@echo "setenv INSTALLDIR before doing that!"
    174       1.18    lukem 	@false
    175       1.18    lukem .endif
    176  1.56.12.1      mjf 	${SETSCMD} ./maketars -d ${DESTDIR:S,^$,/,} ${MAKETARS_FLAGS} \
    177       1.49      apb 	    ${METALOG.sanitised.unpriv} -N ${NETBSDSRCDIR}/etc \
    178       1.49      apb 	    ${MAKEFLIST_FLAGS} -i ${INSTALLDIR} ${INSTALLSETS}
    179       1.49      apb 
    180       1.49      apb # Should we ignore errors like extra or missing files in the flists?
    181       1.49      apb SLOPPY_FLIST?= NO
    182       1.49      apb .if !empty(SLOPPY_FLIST:M[Yy][Ee][Ss])
    183       1.49      apb CHECKFLIST_FLAGS+=	-e -m
    184       1.49      apb REGPKG.sloppy=		-m
    185       1.49      apb .endif
    186        1.1  thorpej 
    187       1.49      apb .if ${MAKEVERBOSE} == 0
    188       1.49      apb REGPKG.verbose?= -q
    189       1.49      apb .elif ${MAKEVERBOSE} == 1
    190       1.49      apb REGPKG.verbose?=
    191       1.49      apb .else	# MAKEVERBOSE == 2
    192       1.49      apb REGPKG.verbose?= -v
    193       1.49      apb .endif
    194       1.49      apb REGPKG.force?=		# -f, or empty
    195       1.49      apb REGPKG.cache?= -c	# -c, or empty
    196       1.49      apb REGPKG.update:= ${MKUPDATE:tl:Nno:C/..*/-u/}
    197       1.49      apb SYSPKGSETS?= all
    198       1.49      apb makesyspkgs: .PHONY check_DESTDIR check_RELEASEDIR \
    199       1.49      apb 		sanitise_METALOG checkflist_if_DESTDIR
    200       1.49      apb 	mkdir -p ${RELEASEDIR}/${MACHINE}/binary/syspkgs
    201       1.49      apb 	${SETSCMD} ${.CURDIR}/regpkgset \
    202       1.49      apb 	    ${REGPKG.verbose} ${REGPKG.force} ${REGPKG.sloppy} \
    203       1.49      apb 	    ${REGPKG.cache} ${REGPKG.update} \
    204       1.49      apb 	    -d ${DESTDIR:S,^$,/,} ${METALOG.sanitised.unpriv} \
    205       1.49      apb 	    -N ${NETBSDSRCDIR}/etc \
    206       1.49      apb 	    -t ${RELEASEDIR}/${MACHINE}/binary/syspkgs ${SYSPKGSETS}
    207       1.49      apb 
    208       1.49      apb makesyspkgsums: .PHONY check_RELEASEDIR
    209       1.49      apb 	${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/syspkgs
    210       1.43    lukem 
    211       1.50      apb # Update the "deps" file.
    212       1.50      apb # XXX: Why is "deps" checked in to the source tree, instead of
    213       1.50      apb # just being created as necessary?
    214       1.50      apb makedeps: .PHONY
    215       1.50      apb 	${SETSCMD} ./syspkgdeps all >${.CURDIR}/deps
    216       1.50      apb 
    217        1.1  thorpej #
    218        1.1  thorpej # MAIN ENTRY POINTS
    219        1.1  thorpej #
    220        1.1  thorpej 
    221       1.49      apb syspkgs: .PHONY makesyspkgs .WAIT makesyspkgsums
    222       1.49      apb 	@true
    223       1.49      apb 
    224       1.41    lukem sets: .PHONY maketars .WAIT makesums
    225       1.25    lukem 	@true
    226       1.25    lukem 
    227       1.41    lukem sourcesets: .PHONY makesrctars
    228        1.1  thorpej 	@true
    229        1.8    lukem 
    230        1.8    lukem .include <bsd.sys.mk>
    231