#	$NetBSD: Makefile,v 1.24 2003/01/30 12:16:18 lukem Exp $

# The `all' target must appear before bsd.own.mk is pulled in.
all:
	@echo "Please understand what you are doing, first."
	@false

.include <bsd.own.mk>
.include "${NETBSDSRCDIR}/distrib/common/Makefile.distrib"

SETSENV=	DESTDIR=${DESTDIR:Q} \
		MACHINE=${MACHINE:Q} MACHINE_ARCH=${MACHINE_ARCH:Q} \
		MAKE=${MAKE:Q} MTREE=${MTREE:Q} PAX=${PAX:Q} 

print_machine: .PHONY
	@echo ${MACHINE}

print_machine_arch: .PHONY
	@echo ${MACHINE_ARCH}

print_machine_cpu: .PHONY
	@echo ${MACHINE_CPU}

print_object_fmt: .PHONY
	@echo ${OBJECT_FMT}

print_toolchain_missing: .PHONY
	@echo "${TOOLCHAIN_MISSING}"

print_x11_version: .PHONY
.if defined(USE_XF86_4) && (${USE_XF86_4} != no)
	@echo 4
.else
	@echo 3
.endif

# This target has debugging value only, really.
makeflist: .PHONY check_DESTDIR
	${SETSENV} sh ${.CURDIR}/makeflist

#
# SET BUILDING TARGETS
#

.PRECIOUS: checkflist
checkflist: check_DESTDIR
	${SETSENV} sh ${.CURDIR}/checkflist ${UNPRIVED:D-M ${METALOG}}

.PRECIOUS: checkflist-x11
checkflist-x11: check_DESTDIR
	${SETSENV} sh ${.CURDIR}/checkflist -x11

.PRECIOUS: maketars
maketars: check_DESTDIR check_RELEASEDIR
.if defined(DESTDIR) && ${DESTDIR} != ""
	${MAKE} checkflist
.endif
	mkdir -p ${RELEASEDIR}/${MACHINE}/binary/sets
	${SETSENV} sh ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
	    ${UNPRIVED:D-M ${METALOG}} -N ${NETBSDSRCDIR}/etc \
	    -t ${RELEASEDIR}/${MACHINE}/binary/sets ${MAKETARSETS}

.PRECIOUS: makesums
makesums: check_RELEASEDIR
	${SETSENV} ${MAKESUMS} -t ${RELEASEDIR}/${MACHINE}/binary/sets

.PRECIOUS: installsets
installsets: check_DESTDIR
.if !defined(INSTALLDIR)
	@echo "setenv INSTALLDIR before doing that!"
	@false
.endif
	${SETSENV} sh ${.CURDIR}/maketars -d ${DESTDIR:S,^$,/,} \
	    ${UNPRIVED:D-M ${METALOG}} -N ${NETBSDSRCDIR}/etc \
	    -i ${INSTALLDIR} ${INSTALLSETS}

#
# MAIN ENTRY POINTS
#

sets: maketars .WAIT makesums
	@true

.include <bsd.sys.mk>
