#sccs	"@(#)headers:Makefile	1.10"
#
#	This make file is designed to be run as the first
#	step in manufacturing the UNIX PC source tree.
#	It goes to all directories that have header files
#	that must be made public, and copies them into
#	the /usr/include header tree.
#
GLOBAL_SL =

INCDIR = /usr/include

INC_HDR_SRC = inc_head
DIAG_HDR_SRC = diag_head
SYS_HDR_SRC = $(SRC)/UTS/kern/sys
SGS_HDR_SRC = $(SRC)/DEV/sgs/headers
NET_HDR_SRC = $(SRC)/UTS/kern/include/net
TAM_HDR_SRC = $(SRC)/LIB/tam
CURSE_HDR_SRC = $(SRC)/LIB/libcurses
513_HDR_SRC = $(SRC)/CTAPS/513
LP_HDR_SRC = $(SRC)/FND/cmd/lp

INC_HDR_DEST = $(INCDIR)
SYS_HDR_DEST = $(INCDIR)/sys
SGS_HDR_DEST = $(INCDIR)/sgs
NET_HDR_DEST = $(INCDIR)/net
TAM_HDR_DEST = $(INCDIR)
CURSE_HDR_DEST = $(INCDIR)
DIAG_HDR_DEST = $(SRC)/CORE/diag/sys
FTDIAG_HDR_DEST = $(SRC)/DRVRS/ftape/ftdiag/sys
513_HDR_DEST = $(INCDIR)
LP_HDR_DEST = $(INCDIR)

PARENTS = \
		$(SRC)/CORE \
		$(SRC)/CORE/diag \
		$(SRC)/DRVRS \
		$(SRC)/DRVRS/ftape \
		$(SRC)/DRVRS/ftape/ftdiag

DEST_DIRS = 	\
		$(INC_HDR_DEST) \
		$(SYS_HDR_DEST) \
		$(SGS_HDR_DEST) \
		$(SRC)/CORE/diag/sys \
		$(SRC)/DRVRS/ftape/ftdiag/sys \
		$(NET_HDR_DEST)

all:	$(PARENTS) $(DEST_DIRS) INC_HDRS SYS_HDRS SGS_HDRS NET_HDRS TAM_HDRS \
		 CURSE_HDRS 513_HDRS LP_HDRS DIAG_HDRS FTDIAG_HDRS PERMS 

$(PARENTS) $(DEST_DIRS):
	echo; if [ ! -d $(@) ] ; then mkdir $(@); fi

make_heads: $(INC_HDR_DEST)
	cd $(INC_HDR_SRC); \
		echo; $(MAKE) make_heads "HD_INST=$(INC_HDR_DEST)"

INC_HDRS: $(INC_HDR_DEST)
	cd $(INC_HDR_SRC); \
		echo; $(MAKE) "HD_INST=$(INC_HDR_DEST)"

SYS_HDRS: $(INC_HDR_DEST) $(SYS_HDR_DEST)
	cd $(SYS_HDR_SRC); \
		echo; $(MAKE) "HD_INST=$(SYS_HDR_DEST)"

SGS_HDRS: $(INC_HDR_DEST) $(SGS_HDR_DEST)
	cd $(SGS_HDR_SRC); \
		 echo; $(MAKE) "HD_INST=$(SGS_HDR_DEST)"

NET_HDRS: $(INC_HDR_DEST) $(NET_HDR_DEST)
	cd $(NET_HDR_SRC); \
		 echo; $(MAKE) "HD_INST=$(NET_HDR_DEST)"

TAM_HDRS: $(INC_HDR_DEST) $(TAM_HDR_DEST)
	cd $(TAM_HDR_SRC); \
		 echo; $(MAKE)  hdr_install "HD_INST=$(TAM_HDR_DEST)"
	
CURSE_HDRS: $(INC_HDR_DEST) $(CURSE_HDR_DEST)
	cd $(CURSE_HDR_SRC); \
		 echo; $(MAKE) hdr_install "HD_INST=$(CURSE_HDR_DEST)"
	
513_HDRS: $(INC_HDR_DEST) $(513_HDR_DEST)
	cd $(513_HDR_SRC); \
		 echo; $(MAKE) hdr_install "HD_INST=$(513_HDR_DEST)"
	
LP_HDRS: $(INC_HDR_DEST) $(LP_HDR_DEST)
	cd $(LP_HDR_SRC); \
		 echo; $(MAKE) hdr_install "HD_INST=$(LP_HDR_DEST)"

DIAG_HDRS: $(DIAG_HDR_DEST)
	cd $(DIAG_HDR_SRC); \
		 echo; $(MAKE) diag_headers "HD_INST=$(DIAG_HDR_DEST)"
	
FTDIAG_HDRS: $(FTDIAG_HDR_DEST)
	cd $(DIAG_HDR_SRC); \
		 echo; $(MAKE) ft_headers "HD_INST=$(FTDIAG_HDR_DEST)"
	
clean: clobber

clobber:
	rm -fr $(INCDIR)/[a-z]* $(DIAG_HDR_DEST) $(FTDIAG_HDR_DEST)
	make make_heads
	
install:
	cd $(INC_HDR_SRC); $(MAKE) install

PERMS:
	for i in $(DEST_DIRS) ; \
	do \
		echo; cd $$i; echo $$i; chown bin *; chgrp bin *; chmod 444 *; \
	done

populate: $(INC_HDR_SRC) $(DIAG_HDR_SRC)
	cd $(INC_HDR_SRC); \
		echo "inchead" >.unit; getslist -S$(GLOBAL_SL); getunit 
	cd $(DIAG_HDR_SRC); \
		echo "diaghead" >.unit; getslist -S$(GLOBAL_SL); getunit

$(INC_HDR_SRC) $(DIAG_HDR_SRC):
	mkdir $@
