#
# $Id: Makefile.aimk,v 1.11 2001/11/30 20:33:11 pvmsrc Exp $
#
# Generic Makefile body to be concatenated to config header.
#
# Imports:
# PVM_ARCH = the official pvm-name of your processor
# ARCHCFLAGS = special cc flags
# ARCHLIB = special libs needed for daemon
# HASRANLIB = 't' or 'f'
#
# Define:
# NOSTRCASE if libc doesn't have strcasecmp, strncasecmp
# SYSVSIGNAL for system5 signal handling
# SYSVSTR for strchr() instead of index()
#
SHELL = /bin/sh
PVMDIR = ../..
SDIR = $(PVMDIR)/pvmgs
DOBJ = pvmgs_core.o pvmgs_func.o
LOBJ = pvmgsu_core.o pvmgsu_aux.o pvmgs_func.o
PVMIDIR = $(PVMDIR)/include
PVMSDIR = $(PVMDIR)/src
PVMBDIR = $(PVMDIR)/bin
PVMXDIR = $(PVMBDIR)/$(PVM_ARCH)
PVMLDIR = $(PVMDIR)/lib/$(PVM_ARCH)
PVMLIB = pvm3
LIBPREFIX = lib
PVMLIBDEP = $(PVMLDIR)/$(LIBPREFIX)$(PVMLIB).a
# Add -DPVMGSTIMEOUT=XXX to CFLAGS to allow timeouts for PVM group
# server requests, where XXX is the number of seconds for the timeout.
# (Note: this flag can also be added to the ARCHCFLAGS define in the
# PVM conf file, i.e.: $PVM_ROOT/conf/$PVM_ARCH.def )
CFLAGS += $(CFLOPTS) -I$(PVMIDIR) -I$(PVMSDIR) -DIMA_$(PVM_ARCH) \
$(ARCHCFLAGS)
LIBS = $(LOPT) -L$(PVMLDIR) -l$(PVMLIB) $(ARCHLIB)
DIRS = $(PVMXDIR) $(PVMLDIR)
PROGS = $(PVMXDIR)/pvm_gstat$(EXESFX) \
$(PVMXDIR)/pvmgs$(EXESFX) \
$(PVMXDIR)/pvmgroups$(EXESFX)
LPROGS = $(PVMLDIR)/pvmgs$(EXESFX)
LIBGPVM = $(LIBPREFIX)gpvm3.a
install: all
install-mpp: all-mpp
all: $(DIRS) $(PROGS) $(PVMLDIR)/$(LIBGPVM) $(LPROGS)
all-mpp: $(DIRS) $(PROGS) $(PVMLDIR)/$(LIBGPVM)-mpp $(LPROGS)
$(PVMXDIR):
- mkdir $(PVMBDIR)
- mkdir $(PVMXDIR)
$(PVMLDIR):
- mkdir $(PVMLDIR)
$(PVMXDIR)/pvm_gstat$(EXESFX): pvm_gstat$(EXESFX)
cp pvm_gstat$(EXESFX) $(PVMXDIR)
$(PVMXDIR)/pvmgs$(EXESFX): pvmgs$(EXESFX)
cp pvmgs$(EXESFX) $(PVMXDIR)
$(PVMXDIR)/pvmgroups$(EXESFX): pvmgroups$(EXESFX)
cp pvmgroups$(EXESFX) $(PVMXDIR)
$(PVMLDIR)/$(LIBGPVM): $(LIBGPVM)
cp $(LIBGPVM) $(PVMLDIR)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(PVMLDIR)/$(LIBGPVM) ;; esac
$(PVMLDIR)/$(LIBGPVM)-mpp: $(LIBGPVM)-mpp
cp $(LIBGPVM) $(PVMLDIR)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(PVMLDIR)/$(LIBGPVM) ;; esac
touch $(PVMLDIR)/$(LIBGPVM)-mpp
$(PVMLDIR)/pvmgs$(EXESFX): pvmgs$(EXESFX)
cp pvmgs$(EXESFX) $(PVMLDIR)
pvmgroups$(EXESFX): pvmgroups.o $(LIBGPVM) $(PVMLIBDEP)
$(CC) $(CFLAGS) -o $@ pvmgroups.o $(LIBGPVM) $(LIBS)
pvmgs$(EXESFX): $(DOBJ) $(PVMLIBDEP)
$(CC) $(CFLAGS) -o $@ $(DOBJ) $(LIBS)
$(LIBGPVM): $(LOBJ)
rm -f $(LIBGPVM)
$(AR) cr $(LIBGPVM) $(LOBJ)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(LIBGPVM) ;; esac
$(LIBGPVM)-mpp: $(LOBJ)
rm -f $(LIBGPVM)
$(AR_FRONT) cr $(LIBGPVM) $(LOBJ)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(LIBGPVM) ;; esac
touch $(LIBGPVM)-mpp
pvm_gstat$(EXESFX): pvm_gstat.o $(LIBGPVM) $(PVMLIBDEP)
$(CC) $(CFLAGS) -o $@ pvm_gstat.o $(LIBGPVM) $(LIBS)
clean:
rm -f $(DOBJ) $(LOBJ) pvmgs$(EXESFX) $(LIBGPVM) \
pvm_gstat.o pvmgroups.o pvm_gstat$(EXESFX) pvmgroups$(EXESFX)
tidy:
rm -f $(DOBJ) $(LOBJ)
lint:
lint -DARCHCLASS=\"$(PVM_ARCH)\" pvmgs.c > Ld
lint -DARCHCLASS=\"$(PVM_ARCH)\" pvm_gsulib.c > Ll
#
pvmgsu_core.o: $(SDIR)/pvmgsu_core.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmgsu_core.c
pvmgsu_aux.o: $(SDIR)/pvmgsu_aux.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmgsu_aux.c
pvmgroups.o: $(SDIR)/pvmgroups.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmgroups.c
pvm_gstat.o: $(SDIR)/pvm_gstat.c
$(CC) $(CFLAGS) -c $(SDIR)/pvm_gstat.c
pvmgs_core.o: $(SDIR)/pvmgs_core.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmgs_core.c
pvmgs_func.o: $(SDIR)/pvmgs_func.c
$(CC) $(CFLAGS) -c $(SDIR)/pvmgs_func.c
#
# Source File Dependencies
#
include $(PVMDEPPATH)$(SDIR)/pvmdep
syntax highlighted by Code2HTML, v. 0.9.1