#
# @(#)Makefile 1.2 88/03/02
#
# Copyright (c) 1988 by Sun Microsystems, Inc.
#

# --- Installation Directories ---
DEFAULTNEWSHOME=/usr/NeWS
DESTDIR=
INSDIR=${DESTDIR}${DEFAULTNEWSHOME}
BINDIR=${INSDIR}/bin
DEMODIR=${INSDIR}/demo
LIBDIR=${INSDIR}/lib
PSLIBDIR=${LIBDIR}/NeWS
INCLUDEDIR=${INSDIR}/include
FONTDIR=${INSDIR}/fonts

# --- Compiler Options ---
# normally, compile with optimization
OPT=-O
# debugging compilation
#OPT=-g -DDEBUG
# Sun -R option (puts initialized data into read-only text)
ROPT=-Qoptions as -R

# --- Target Machine ---
# Sun2
#TARGET_ARCH=-mc68010
# Sun3
TARGET_ARCH=-mc68020
# Sun4 --> TARGET_ARCH must be set explicitly for Sun4 compile
#TARGET_ARCH=-sparc

# --- Libraries ---
# Termcap library
TERMLIB=-ltermcap

# --- X10 Support ---
XSRC=Xparse.c
XOBJ=Xparse.o
XHDRS=X.h Xproto.h mitcopyrit.h
#XSRC=
#XOBJ=
#XHRDS=

# --- Sun Native or Reference Version? ---
OSI=SUN

# --- Operating System Interface ---
# SunOS
OS=sunos

# --- Device Interface ---
# Sun workstation
DEV=sunw

# --- Compile-time defines ---
# Graphics Device Drivers
DEVS=-DINCLCG2 -DINCLCG4 -DINCLBW1 -DINCLGP1
# Sun Frame Buffer
FB=
# Sun Byte Ordering
BYTES=

COPTS=${FB} ${BYTES}

MAKEFILES=client/Makefile \
	  etc/NeWS/Makefile \
	  fonts/Makefile \
	  lib/NeWS/Makefile \
	  man/Makefile \
	  server/Makefile \
	  smi/Makefile 


all:	${MAKEFILES} Server EtcNeWS LibNeWS Client Fonts 

Server: server/Makefile
	-cd server; make -k OPT='${OPT}' COPTS='${COPTS}' OS='${OS}' DEV='${DEV}' \
		OSI='${OSI}' TARGET_ARCH='${TARGET_ARCH}' DEVS='${DEVS}' \
		ROPT='${ROPT}' XSRC='${XSRC}' XOBJ='${XOBJ}' XHDRS='${XHDRS}' \
		DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' all

EtcNeWS: etc/NeWS/Makefile
	-cd etc/NeWS; make -k DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		TARGET_ARCH='${TARGET_ARCH}' all

LibNeWS: lib/NeWS/Makefile
	-cd lib/NeWS; make -k OPT='${OPT}' COPTS='${COPTS}' OS='${OS}' \
		DEV='${DEV}' OSI='${OSI}' \
		TARGET_ARCH='${TARGET_ARCH}' ROPT='${ROPT}' \
		DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' all

Client: client/Makefile
	-cd client; make -k OPT='${OPT}' COPTS='${COPTS}' OSI='${OSI}' \
		TERMLIB='${TERMLIB}' TARGET_ARCH='${TARGET_ARCH}' \
		DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' all

Fonts:	fonts/Makefile
	-cd fonts; make -k OPT='${OPT}' COPTS='${COPTS}' OSI='${OSI}' \
		TARGET_ARCH='${TARGET_ARCH}' all


install: mkdir ${MAKEFILES} 
	-cd server; make -k OPT='${OPT}' COPTS='${COPTS}' OS='${OS}' DEV='${DEV}' \
		OSI='${OSI}' TARGET_ARCH='${TARGET_ARCH}' DEVS='${DEVS}' \
		ROPT='${ROPT}' XSRC='${XSRC}' XOBJ='${XOBJ}' XHDRS='${XHDRS}' \
		DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		DESTDIR='${DESTDIR}' INSDIR='${INSDIR}' install
	-cd etc/NeWS; make -k DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		TARGET_ARCH='${TARGET_ARCH}' \
		DESTDIR='${DESTDIR}' INSDIR='${INSDIR}' \
		install
	-cd lib/NeWS; make -k OPT='${OPT}' COPTS='${COPTS}' OS='${OS}' \
		DEV='${DEV}' OSI='${OSI}' \
		TARGET_ARCH='${TARGET_ARCH}' ROPT='${ROPT}' \
		DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		DESTDIR='${DESTDIR}' INSDIR='${INSDIR}' install
	-cd client; make -k OPT='${OPT}' COPTS='${COPTS}' OSI='${OSI}' \
		TARGET_ARCH='${TARGET_ARCH}' TERMLIB='${TERMLIB}' \
		DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		DESTDIR='${DESTDIR}' INSDIR='${INSDIR}' install
	-cd fonts; make -k OPT='${OPT}' COPTS='${COPTS}' OSI='${OSI}' \
		TARGET_ARCH='${TARGET_ARCH}' DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		DESTDIR='${DESTDIR}' INSDIR='${INSDIR}' install
	-cd smi; make -k DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		DESTDIR='${DESTDIR}' INSDIR='${INSDIR}' install
	-cd man; make -k DEFAULTNEWSHOME='${DEFAULTNEWSHOME}' \
		DESTDIR='${DESTDIR}' INSDIR='${INSDIR}' install
	@echo NeWS make install complete 

mkdir:
	-mkdir ${INSDIR} ${INSDIR}/lib ${INSDIR}/lib/NeWS \
	${INSDIR}/bin ${INSDIR}/include ${INSDIR}/fonts \
	${INSDIR}/smi ${INSDIR}/demo ${INSDIR}/clientsrc \
	${INSDIR}/man

client/Makefile:
	(cd client; ${GET} -GMakefile SCCS/s.Makefile.sun)
	@echo client/Makefile retrieved...

fonts/Makefile:
	(cd fonts; ${GET} -GMakefile SCCS/s.Makefile.sun)
	@echo fonts/Makefile retrieved...

etc/NeWS/Makefile:
	(cd etc/NeWS; ${GET} -GMakefile SCCS/s.Makefile.sun)
	@echo etc/NeWS/Makefile retrieved...

lib/NeWS/Makefile:
	(cd lib/NeWS; ${GET} -GMakefile SCCS/s.Makefile.sun)
	@echo lib/NeWS/Makefile retrieved...

server/Makefile:
	(cd server; ${GET} -GMakefile SCCS/s.Makefile.sun)
	@echo server/Makefile retrieved...

smi/Makefile:
	(cd smi; ${GET} -GMakefile SCCS/s.Makefile.sun)
	@echo smi/Makefile retrieved...

man/Makefile:
	(cd man; ${GET} -GMakefile SCCS/s.Makefile.sun)
	@echo man/Makefile retrieved...

clean:	server/Makefile etc/NeWS/Makefile client/Makefile fonts/Makefile lib/NeWS/Makefile
	-cd server; make clean
	-cd etc/NeWS; make clean
	-cd lib/NeWS; make clean
	-cd client; make clean
	-cd fonts; make clean
	-cd smi; make clean

makedepend: makedepend.sh
	rm -f makedepend
	cp makedepend.sh makedepend
	chmod +x makedepend


