# Global Makefile
#    This makefile will go ahead and make the following things
#	1) -lnthreads 	threads library
#	2) -lHRPC    	HRPC library/stub generator/run-time system
#   	3) -lPd 	Palladium Library
#	4) -lPdDB 	DataBase library
#	5) PdServer     Palladium Server
# 	6) Pd*spvr      Palladium Supervisors (LN03r, LN03, etc.)
#	7) scheduler  	Palladium scheduler
#	8) clients	Palladium user and system routines
#       9) common       The ECMA definition in Courier form



TOPDIR = /mit/pss2
SRCDIR = $(TOPDIR)/src
THREADSDIR= $(SRCDIR)/nthreads
HRPCDIR= $(SRCDIR)/HRPC
PDLIBDIR=$(SRCDIR)/pdlib
DBDIR=$(SRCDIR)/db
SERVERDIR=$(SRCDIR)/server
SCHEDULERDIR=$(SRCDIR)/scheduler
SUPERVISORDIR=$(SRCDIR)/spvrs
CLIENTSDIR=$(SRCDIR)/clients
BINDIR = $(SRCDIR)/bin
LIBDIR = $(SRCDIR)/lib
INCLDIR = $(SRCDIR)/include

LIBPATH = -L$(LIBDIR)

INCLPATH = -I$(SRCCOMMON) -I$(INCLDIR) 

SYSTEM_TYPE=ULTRIX
#SYSTEM_TYPE=BSD4_3
CFLAGS = $(INCLPATH) -D$(SYSTEM_TYPE) -DDEBUG -DPDDEBUG -DACL
#CFLAGS = -g $(INCLPATH) -D$(SYSTEM_TYPE) -DDEBUG -DPDDEBUG -DACL -DKERBEROS \
	-ZEPHYR

ALL=nthreads HRPC common pdlib db server spvrs scheduler clients lpdgateway
# PDALL consists of those directories which are part of Palladium
PDALL=common pdlib db server spvrs scheduler clients lpdgateway

all:
	for i in $(PDALL); do \
		(cd $$i; echo; echo MAKING -- $$i --; echo; make $(MFLAGS) all); done

install:
	for i in $(PDALL); do \
		(cd $$i; echo; echo MAKING -- $$i --; echo; make $(MFLAGS) install); done


depend:
	for i in $(PDALL); do \
		(cd $$i; echo; echo MAKING -- $$i --; echo; make $(MFLAGS) depend); done


tidy:
	for i in $(PDALL); do \
		(cd $$i; echo; echo MAKING -- $$i --; echo; make $(MFLAGS) tidy); done



clean:
	for i in $(PDALL); do \
		(cd $$i; echo; echo MAKING -- $$i --; echo; make $(MFLAGS) clean); done

	
