#Template Makefile Version: 1.1
#Time-stamp: <94/08/30 15:47:37 dev>
MAKE = make
CC = g++
AR = ar

#DEBG = -ggdb -D_DEBUG
OPT = -m486
#STD_DEFINES = -D_POSIX_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -Dlinux
CFLAGS = -Wall -Wstrict-prototypes -pipe $(OPT) $(DEBG) $(STD_DEFINES)
LFLAGS =

TOPDIR = $$HOME/PVM++-0.3
LIBS = -L$(TOPDIR)/c++.classes/lib/ -L$$PVM_ROOT/lib -lpvm++ -lgpvm -lpvm -lg++ -lm 
INC = -I$(TOPDIR)/c++.classes/include -I$$PVM_ROOT/include

#target destination
DEST_1 = $$HOME/pvm
TARGET_1 = $(DEST_1)/tokenring
OBJS_1 = main.o #token.o

TARGETS = $(TARGET_1)
OBJS = $(OBJS_1)

#extension of files to be parsed for dependences
FEXT = cxx
#all the makefiles to be made before $(TARGET) 
SUBDIRS = $(TOPDIR)/c++.classes/src/pvm++

ifeq (.depend, $(wildcard .depend))
include .depend
endif

all: before $(TARGETS) 

before:
	@set -e; for i in $(SUBDIRS); do $(MAKE) -C $$i all; echo; done

$(TARGET_1): $(OBJS_1)
	$(CC) -o $(TARGET_1) $(LFLAGS) $(OBJS_1) $(LIBS)
	strip $(TARGET_1)
	@echo 'TokenRing: successfully compiled!\n'

# =====================================================================
.depend depend dep :
	rm -f .depend
	$(CC) -M *.$(FEXT) $(INC) >.depend;
	@set -e; for i in $(SUBDIRS); do echo; $(MAKE) -C $$i depend; done	

clean:
	@echo -n 'Cleaning directory: '
	rm -f $(OBJS) $(TARGETS) core *~ .*~ .depend

veryclean:
	@echo -n 'Cleaning directory: '
	rm -f $(OBJS) $(TARGETS) core *~ .*~ .depend
	@set -e; for i in $(SUBDIRS); do echo; $(MAKE) -C $$i veryclean; done

%.o: %.$(FEXT) 
	$(CC) -c $< $(CFLAGS) -o $@ $(INC)
