#
#
# HISTORY
#
#  Top level makefile for /usr/nmach tree
#
# Dec-11-87  Mary Thompson @ Carnegie Mellon
#	Separated out the making of the man and doc
#	sections to be done under install.docs rather
#	than all and install.
#
# Aug-11-87  Mary Thompson @ Carnegie Mellon
#	Added new subdirectory examples
#
# Jun-1-87   Mary Thompson @ Carnegie Mellon
#	Changed to include Make.inc
#


DSTDIR=/usr/mach
SRCDIR=${DSTDIR}/src
INCDIR=${DSTDIR}/include
TARGET_DIRS = $(INCDIR) $(DSTDIR) $(INCDIR)/accent

SUBS=	lib bin etc tests kernel

all:	install-libs 
install: install-libs

include $(SRCDIR)/Make.inc

bootstrap:  $(TARGET_DIRS) POPULATE first_includes build_interface \
		interface_includes

POPULATE:
	cd bootstrap.${machine}; \
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} populate

build_interface:
	cd lib/libmach; \
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} build_interface

first_includes:
	@echo cd $(INCDIR)
	-cd ${INCDIR}; \
	cp -p ${SRCDIR}/lib/libaccent/accent.h accent/accent.h; \
	cp -p $(SRCDIR)/lib/std_types.defs . ; \
	cp -p $(SRCDIR)/lib/libmach/mach_error.h . ; \
	cp -p $(SRCDIR)/lib/libmach/mach_extra.h . ; \
	ln -s accent/accent.h Accent.h; \
	ln -s accent/accent.h accent.h; \
	ln -s kern/mach.h mach.h; \
	ln -s kern/mach_types.h mach_types.h; \
	ln -s sys/errno.h errno.h; \
	ln -s sys/signal.h signal.h

interface_includes:
	@echo cd lib/libmach
	cd lib/libmach; \
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} \
		INCDIR=${INCDIR} include

	-if [ -d lib/threads ]; then \
		cd lib/threads; \
		make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} \
			INCDIR=${INCDIR} include;\
	else true; \
	fi

	cd bin/mig; \
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} \
		INCDIR=${INCDIR} include

install-libs:
	cd lib/libmach; \
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} \
		INCDIR=${INCDIR} install
	cd lib/libaccent; \
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} \
		INCDIR=${INCDIR} install


install.docs:
	cd doc; \
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} \
		INCDIR=${INCDIR} install
	cd man;\
	make ${MFLAGS} "I=$I" DSTDIR=${DSTDIR} SRCDIR=${SRCDIR} \
		INCDIR=${INCDIR} install

 
