#-------------------------------------------------------------------------
# This file was automatically generated by Automake, and manually modified 
# to make it simpler and cleaner. There are three sections in the file:
# 1) Macros
# 2) Recursive Rules and Suffixes (implicit rules)
# 3) Explicit Rules
#-------------------------------------------------------------------------

#-------------------------------------------------------------------------
#   Section 1) Macros
#-------------------------------------------------------------------------
top_srcdir = ../..
prefix = /usr/local
exec_prefix = ${prefix}
libdir = ${exec_prefix}/lib
includedir = ${prefix}/include

CONDOR_DIR = /unsup/condor-test
CXX = /p/condor/workspaces/build/bin/g++
MPICXX = 
MEASURE_DEFN = 
MISC_DEFN = 
MISC_LIB = -lNWS
MW_LIBDIR = /u/g/t/gthain/mw-source/release/mw/lib
MW_LIBDIR_DEBUG = /u/g/t/gthain/mw-source/release/mw/debug_lib
PVM_ROOT = /p/condor/workspaces/pvm/pvm3.4.2
PVM_ARCH = LINUX
RANLIB = ranlib
INSTALL = /usr/bin/install -c
SOCKET_LIB = 
PACKAGE = mw
VERSION = 0.3.0
USE_CHIRP = 
USE_MWFILE = true
USE_MPI = @USE_MPI@

mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
AR = ar

DEFS = -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_FCNTL_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_VPRINTF=1 -DHAVE_GETCWD=1 -DHAVE_GETHOSTNAME=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_MKDIR=1 -DHAVE_STRSTR=1 -DHAVE_DYNAMIC_CAST= -DCONDOR_DIR=\"/unsup/condor-test\" -DUSE_POLL=1  -I.
LIBS = 
CPPFLAGS = 
LDFLAGS = 
CXXFLAGS = -g -O2 -Wall

# Subdirectories
SUBDIRS = 

# MW-Independent will be used to debug:
#  type "masterYourApp_indp < in_master.indp" to see if the example works without submit to condor
ENABLE_MWINDEPENDENT = yes

ifeq ($(ENABLE_MWINDEPENDENT), yes)
INDEPENDENT_PROGS = masterfib_indp 
INDEPENDENT_INCLS = ../../src/RMComm/MW-Independent
masterfib_indp_LDADD = -L$(MW_LIBDIR) -lMW_indp -lMWRMComm_indp -lMWRC_indp -lMWutil_indp  $(SOCKET_LIB) $(MISC_LIB)
masterfib_indp_OBJECTS =  Driver-fib-Ind.o Task-fib-Ind.o Worker-fib-Ind.o MasterMain-fib-Ind.o
endif

# Check programs to be built, and dependent source files
ifdef DEBUG_BUILD
  # To work with Insure, need to "setenv DEBUG_BUILD='insure'" and write/copy a good .psrc file
DEBUG_CHECKER = $(DEBUG_BUILD)
MW_LIBDIR = $(MW_LIBDIR_DEBUG)
  # MW-File doesn't work with Insure, so will not compile *_file if DEBUG_BUILD
PROGRAMS = masterfib_socket workerfib_socket $(INDEPENDENT_PROGS) 
INCLUDES = -I../../src -I../../src/MWControlTasks -I../../src/RMComm -I../../src/RMComm/MW-CondorPVM -I$(INDEPENDENT_INCLS) $(MEASURE_DEFN)
else 
PROGRAMS = masterfib_socket workerfib_socket $(INDEPENDENT_PROGS)
INCLUDES = -I../../src -I../../src/MWControlTasks -I../../src/RMComm -I../../src/RMComm/MW-File -I../../src/RMComm/MW-CondorPVM -I$(INDEPENDENT_INCLS) $(MEASURE_DEFN)
endif

# if CONDOR_DIR=no, only build independent
ifeq ($(CONDOR_DIR), no)
PROGRAMS = $(INDEPENDENT_PROGS)
else

# if PVM_ROOT != no, also build pvm
ifneq ($(PVM_ROOT), no)
PROGRAMS += masterfib_condorpvm workerfib_condorpvm
endif

# if USE_MWFILE != no, also build mwfile
ifneq ($(USE_MWFILE), no)
PROGRAMS += masterfib_file workerfib_file
endif

ifneq ($(USE_MPI), no)
PROGRAMS += masterfib_mpi
masterfib_mpi_LDADD = -L$(MW_LIBDIR) -lMW -lMWRMComm -lMWRC_mpi -lMWutil  $(SOCKET_LIB) $(MISC_LIB)
masterfib_mpi_OBJECTS =  Driver-fib-StaticMPI.o Task-fib-StaticMPI.o Worker-fib-StaticMPI.o Mpi-Main.o
MPI_INCLUDES = -I../../src/RMComm/MW-StaticMPI -I../../src -I../../src/MWControlTasks -I../../src/RMComm
endif

endif

CXXCOMPILE = $(DEBUG_CHECKER) $(CXX) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(DEBUG_CHECKER) $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@

MPICXXCOMPILE = $(DEBUG_CHECKER) $(MPICXX) -DMPI $(DEFS) $(MPI_INCLUDES)\
		$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) 
MPICXXLD = $(DEBUG_CHECKER) $(MPICXX)
MPICXXLINK = $(MPICXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) -o $@




ifdef USE_CHIRP
CONDOR_COMPILE = 
else
CONDOR_COMPILE = $(CONDOR_DIR)/bin/condor_compile
endif

masterfib_file_SOURCES = Driver-fib.C Task-fib.C MasterMain-fib.C
masterfib_file_LDADD = -L$(MW_LIBDIR) -lMW -lMWRMComm -lMWfilemaster -lMWutil $(CONDOR_DIR)/lib/libcondorapi.a  $(SOCKET_LIB) $(MISC_LIB) -ldl
masterfib_file_OBJECTS =  Driver-fib.o Task-fib.o MasterMain-fib.o
masterfib_file_DEPENDENCIES =  $(CONDOR_DIR)/lib/libcondorapi.a 
masterfib_file_LDFLAGS = 
workerfib_file_SOURCES = Worker-fib.C Task-fib.C WorkerMain-fib.C
workerfib_file_LDADD = -L$(MW_LIBDIR) -lMW -lMWRMComm -lMWfileworker -lMWutil -lMW -lMWRMComm  $(SOCKET_LIB) $(MISC_LIB)
workerfib_file_OBJECTS =  Worker-fib.o Task-fib.o WorkerMain-fib.o
workerfib_file_DEPENDENCIES =
workerfib_file_LDFLAGS =

masterfib_condorpvm_SOURCES = Driver-fib.C Task-fib.C MasterMain-fib.C
masterfib_condorpvm_LDADD = -L$(MW_LIBDIR) -lMW -lMWRMComm -lMWcondorpvmmaster -lMWutil -L$(PVM_ROOT)/lib/$(PVM_ARCH) -lpvm3  $(SOCKET_LIB) $(MISC_LIB)
masterfib_condorpvm_OBJECTS =  Driver-fib.o Task-fib.o MasterMain-fib.o
masterfib_condorpvm_DEPENDENCIES =
masterfib_condorpvm_LDFLAGS =
workerfib_condorpvm_SOURCES = Worker-fib.C Task-fib.C WorkerMain-fib.C
workerfib_condorpvm_LDADD = -L$(MW_LIBDIR) -lMW -lMWRMComm -lMWcondorpvmworker -lMWutil -lNWS -lMW -lMWRMComm -L$(PVM_ROOT)/lib/$(PVM_ARCH) -lpvm3  -lMW -lMWRMComm  $(SOCKET_LIB) $(MISC_LIB)
workerfib_condorpvm_OBJECTS =  Worker-fib.o Task-fib.o WorkerMain-fib.o
workerfib_condorpvm_DEPENDENCIES =
workerfib_condorpvm_LDFLAGS =

masterfib_socket_SOURCES = Driver-fib.C Task-fib.C MasterMain-fib.C
masterfib_socket_LDADD = -L$(MW_LIBDIR) -lMW -lMWRMComm -lMWsocketmaster -lMWutil  $(SOCKET_LIB) $(MISC_LIB)
masterfib_socket_OBJECTS =  Driver-fib.o Task-fib.o MasterMain-fib.o
masterfib_socket_DEPENDENCIES =
masterfib_socket_LDFLAGS =
workerfib_socket_SOURCES = Worker-fib.C Task-fib.C WorkerMain-fib.C
workerfib_socket_LDADD = -L$(MW_LIBDIR) -lMW -lMWRMComm -lMWsocketworker -lNWS -lMWutil -lMW -lMWRMComm  $(SOCKET_LIB) $(MISC_LIB)
workerfib_socket_OBJECTS =  Worker-fib.o Task-fib.o WorkerMain-fib.o
workerfib_socket_DEPENDENCIES =
workerfib_socket_LDFLAGS =

#-------------------------------------------------------------------------
#   Section 2) Explicit and Implicit Rules
#-------------------------------------------------------------------------
all: $(PROGRAMS)

Driver-fib-Ind.o:Driver-fib.C
	$(CXXCOMPILE) -DINDEPENDENT -o Driver-fib-Ind.o -c Driver-fib.C
Task-fib-Ind.o:Task-fib.C
	$(CXXCOMPILE) -DINDEPENDENT -o Task-fib-Ind.o -c Task-fib.C
Worker-fib-Ind.o:Worker-fib.C
	$(CXXCOMPILE) -DINDEPENDENT -o Worker-fib-Ind.o -c Worker-fib.C
MasterMain-fib-Ind.o:MasterMain-fib.C
	$(CXXCOMPILE) -DINDEPENDENT -o MasterMain-fib-Ind.o -c MasterMain-fib.C

masterfib_indp: $(masterfib_indp_OBJECTS)
	@rm -f masterfib_indp
	$(CXXLINK) $(masterfib_indp_LDFLAGS) $(masterfib_indp_OBJECTS) $(masterfib_indp_LDADD) $(LIBS)

masterfib_file: $(masterfib_file_OBJECTS) $(masterfib_file_DEPENDENCIES)
	@rm -f masterfib_file
	$(CXXLINK) $(masterfib_file_LDFLAGS) $(masterfib_file_OBJECTS) $(masterfib_file_LDADD) $(LIBS)

workerfib_file: $(workerfib_file_OBJECTS) 
	$(CONDOR_COMPILE) $(CXXLINK) $(workerfib_file_LDFLAGS) $(workerfib_file_OBJECTS) $(workerfib_file_LDADD) $(LIBS) $(INCLUDES)

masterfib_condorpvm: $(masterfib_condorpvm_OBJECTS) $(masterfib_condorpvm_DEPENDENCIES)
	@rm -f masterfib_condorpvm
	$(CXXLINK) $(masterfib_condorpvm_LDFLAGS) $(masterfib_condorpvm_OBJECTS) $(masterfib_condorpvm_LDADD) $(LIBS)

workerfib_condorpvm: $(workerfib_condorpvm_OBJECTS) $(workerfib_condorpvm_DEPENDENCIES)
	@rm -f workerfib_condorpvm
	$(CXXLINK) $(workerfib_condorpvm_LDFLAGS) $(workerfib_condorpvm_OBJECTS) $(workerfib_condorpvm_LDADD) $(LIBS)

masterfib_socket: $(masterfib_socket_OBJECTS) $(masterfib_socket_DEPENDENCIES)
	@rm -f masterfib_socket
	$(CXXLINK) $(masterfib_socket_LDFLAGS) $(masterfib_socket_OBJECTS) $(masterfib_socket_LDADD) $(LIBS)

workerfib_socket: $(workerfib_socket_OBJECTS) $(workerfib_socket_DEPENDENCIES)
	@rm -f workerfib_socket
	$(CXXLINK) $(workerfib_socket_LDFLAGS) $(workerfib_socket_OBJECTS) $(workerfib_socket_LDADD) $(LIBS)


# For MPI build...

Driver-fib-StaticMPI.o: Driver-fib.C
	echo "Build Driver-fib-StaticMPI.o"
	$(MPICXXCOMPILE) -o Driver-fib-StaticMPI.o -c Driver-fib.C
Task-fib-StaticMPI.o: Task-fib.C
	echo "Building Task-fib-StaticMPI.o" 
	$(MPICXXCOMPILE) -DMPI -o Task-fib-StaticMPI.o -c Task-fib.C
Worker-fib-StaticMPI.o:Worker-fib.C
	echo "Worker-fib-StaticMPI.o"
	$(MPICXXCOMPILE) -DMPI -o Worker-fib-StaticMPI.o -c Worker-fib.C
Mpi-Main.o: Mpi-Main.C
	echo "Building MpiMain.o"
	$(MPICXXCOMPILE) $(MPI_INCLUDES) -DMPI -o Mpi-Main.o -c Mpi-Main.C

masterfib_mpi: $(masterfib_mpi_OBJECTS)
	echo "$(masterfib_mpi_OBJECTS)"  
	@rm -f masterfib_mpi
	$(MPICXXLINK) $(masterfib_mpi_LDFLAGS) $(masterfib_mpi_OBJECTS) $(masterfib_mpi_LDADD) $(LIBS)



.SUFFIXES: .C .o

.C.o:
	$(CXXCOMPILE) -c $<

#-------------------------------------------------------------------------
#   Section 3) Recursive Rules: Common
#-------------------------------------------------------------------------
install: 

check: $(PROGRAMS)
	[ "__$(SUBDIRS)" = "__" ] || for subdir in `echo "$(SUBDIRS)"`; do (cd $$subdir && $(MAKE) $@) ; done

clean:
	-rm -f $(PROGRAMS) *.o *.a core
	[ "__$(SUBDIRS)" = "__" ] || for subdir in `echo "$(SUBDIRS)"`; do (cd $$subdir && $(MAKE) $@) ; done

distclean:
	-rm -f Makefile *.tar *.gz
	-rm -rf .deps
	-rm -f config.cache config.log stamp-h stamp-h[0-9]*
	-rm -f $(PROGRAMS) *.o *.a core
	[ "__$(SUBDIRS)" = "__" ] || for subdir in `echo "$(SUBDIRS)"`; do (cd $$subdir && $(MAKE) $@) ; done

.PHONY: all check clean distclean install
