#ifndef _BLURB_
#define _BLURB_
#/*
#
#            Coda: an Experimental Distributed File System
#                             Release 3.1
#
#          Copyright (c) 1987-1995 Carnegie Mellon University
#                         All Rights Reserved
#
#Permission  to  use, copy, modify and distribute this software and its
#documentation is hereby granted,  provided  that  both  the  copyright
#notice  and  this  permission  notice  appear  in  all  copies  of the
#software, derivative works or  modified  versions,  and  any  portions
#thereof, and that both notices appear in supporting documentation, and
#that credit is given to Carnegie Mellon University  in  all  documents
#and publicity pertaining to direct or indirect use of this code or its
#derivatives.
#
#CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS  KNOWN  TO  HAVE  BUGS,
#SOME  OF  WHICH MAY HAVE SERIOUS CONSEQUENCES.  CARNEGIE MELLON ALLOWS
#FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION.   CARNEGIE  MELLON
#DISCLAIMS  ANY  LIABILITY  OF  ANY  KIND  FOR  ANY  DAMAGES WHATSOEVER
#RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE  OR  OF
#ANY DERIVATIVE WORK.
#
#Carnegie  Mellon  encourages  users  of  this  software  to return any
#improvements or extensions that  they  make,  and  to  grant  Carnegie
#Mellon the rights to redistribute these changes without encumbrance.
#*/
#
#static char *rcsid = "$Header: Makeconf,v 3.4.2.1 95/10/11 10:00:57 raiff Exp $";
#endif /*_BLURB_*/


# Configuration file for /usr/cs/bin/make


# Location of objects (relative to sources if not beginning with slash)
# Set to a bogus name, so that user is forced to explicitly define it.
OBJECTDIR=DEFINEME

# Location of source module 
# Set to a bogus name, so user has to define it.
MODULEDIR=DEFINEME

# Include Makeconf.sys.  Error if it doesn't exist
include Makeconf.sys

# Where to find installed files (generates abs pathnames)
# Points to alpha by default, but can be set by hand
# or by setting the environment variable ROOT
ROOT = /coda/project/coda/beta-11Oct1995_34901

# Define CC for g++ compilation
CC = g++ -fno-this-is-variable

#
BINSPECIAL = ${ROOT}/bin-special
BINDIR = ${ROOT}/bin
INCLSPECIAL= ${ROOT}/include-special
INCLSPECIALSUBDIR= ${ROOT}/include-special/readline -I${ROOT}/include-special/sets
INCLDIR= ${ROOT}/include
LIBSPECIAL = ${ROOT}/lib-special
LIBDIR=	 ${ROOT}/lib
MANDIR = ${ROOT}/man
SCRIPTDIR = ${BINDIR}
SRCDIR = ${ROOT}/src
DOCDIR = ${ROOT}/doc

# these are all the subdirectories in INCLDIR.
# need to reset the mode bits after chmoding INCLDIR/* to 644
INCLSUBS = ${INCLDIR}/camlib ${INCLDIR}/cfs ${INCLDIR}/rpc ${INCLDIR}/vfs 

#
MACHDIR = /usr/mach
CSDIR = /usr/cs
KERNELDIR = /coda/project/coda/kernel
PERSONAL_INCLUDE = .
GNUCOMPDIR = /usr/misc/.gnu-comp

#
INCLFLAGS = -I- -I$(PERSONAL_INCLUDE) -I. \
	-I$(INCLDIR) -I$(INCLSPECIAL)  -I$(INCLSPECIALSUBDIR) -I$(MODULEDIR)\
	-I$(CSDIR)/include -I$(MACHDIR)/include -I/usr/include

LIBFLAGS = -L$(LIBDIR) -L$(LIBSPECIAL) -L$(MACHDIR)/lib -L$(CSDIR)/lib -L$(GNUCOMPDIR)/lib

RP2FLAGS = -I .  `printenv MAKEPSD | awk -F:  '{for (i=1; i<NF+1; i++) {printf("-I %s ", $$i)}}'` -I $(INCLDIR)


CFLAGS= -g $(INCLFLAGS) -DPRIVATE=static  $(PERSONAL_FLAGS)

INSTALL= cp -p

#SYS is now defined by Makeconf.sys, using venus itself.
#SYS = $(target_machine:ibmrt=rt)
#SYS = $(SYS:at386=i386)_mach

# Define each library individually for easy substitution
LIBAUTH2 = 	$(LIBDIR)/libauth2.a
LIBAL = 	$(LIBDIR)/libal.a		
LIBVOLUTIL = 	${LIBDIR}/libvolutil.a
LIBVOL = 	${LIBDIR}/libvol.a			
LIBVV = 	$(LIBDIR)/libvv.a		
LIBSYSENT =	$(LIBDIR)/libsysent.a	
LIBRESOLVE =	$(LIBDIR)/libresolve.a	
LIBRESLIB =	${LIBDIR}/libreslib.a			
LIBGROUP =	$(LIBDIR)/libgroup.a		
LIBUTIL =	$(LIBDIR)/libutil.a		
LIBRDS =        $(LIBSPECIAL)/librdslwp.a	 		
LIBSEG = 	$(LIBSPECIAL)/libseg.a 			
LIBRVMLWP =	$(LIBSPECIAL)/librvmlwp.a		
LIBRPC2 =	$(LIBDIR)/librpc2.a		
LIBRPCLIB =	$(LIBDIR)/librpclib.a		
LIBSE =		$(LIBDIR)/libse.a		
LIBFAIL =	$(LIBDIR)/libfail.a		
LIBNEWLWP =	${LIBDIR}/libnewlwp.a			
LIBOLDLWP =	${LIBDIR}/liboldlwp.a			
LIBMTCORE =	$(LIBSPECIAL)/libmtcore.a
LIBCOMM =	$(LIBDIR)/libcomm.a		
LIBPLUMBER =	$(LIBSPECIAL)/libplumber.a
LIBNEWPLUMBER =	$(LIBSPECIAL)/libnewplumb.a
LIBTRACE =	$(LIBSPECIAL)/libtrace.a
LIBRVMRES =	$(LIBDIR)/librvmres.a

# A bunch of .o files that should really be in libraries....
DIR_O =		$(LIBDIR)/dir.o		
BUFFER_O =	$(LIBDIR)/buffer.o		
SALVAGE_O =  	$(LIBDIR)/salvage.o	
VICEERRORMSG_O= $(LIBDIR)/ViceErrorMsg.o
PIOCTL_O =	${LIBDIR}/pioctl.o


# Don't put all the binaries here; just ones that get used in compiling the code
RP2GEN = $(BINDIR)/rp2gen
PCFGEN = $(BINDIR)/pcfgen
ALPHACI = $(SCRIPTDIR)/alphaci

# RPC2 interface definitions in module vicedep
CALLBACK_RPC2 = $(INCLDIR)/callback.rpc2
MOND_RPC2 = $(INCLDIR)/mond.rpc2
VCRCOMMON_RPC2 = $(INCLDIR)/vcrcommon.rpc2
VICE_RPC2 = $(INCLDIR)/vice.rpc2
VOLDUMP_RPC2 = $(INCLDIR)/voldump.rpc2
VOLUTIL_RPC2 = $(INCLDIR)/volutil.rpc2
RES_RPC2 = $(INCLDIR)/res.rpc2
ADMON_RPC2 = $(INCLDIR)/admon.rpc2
ADSRV_RPC2 = $(INCLDIR)/adsrv.rpc2

#on exit from the program write the source directory and path of Makeconf into the
#object directory
# this was added to facilitate writing resolvers.
.EXIT:
	@echo set SOURCEDIR = $(VPATH) > .SRCDIRS
	@echo -n "setenv MAKECONF " >> .SRCDIRS
	@printenv MAKECONF >> .SRCDIRS
