#
# $Id: Makefile.aimk,v 1.4 1999/03/11 20:19:33 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)/shmd
DOBJ = pvm_shmd.o block.o sem.o tidinfo.o
LOBJ = sendrecv.o block.o sem.o tidinfo.o lpvm.o
PVMIDIR = $(PVMDIR)/include
PVMSDIR = $(PVMDIR)/src
PVMSLDIR = $(PVM_ROOT)/src
PVMBDIR = $(PVMDIR)/bin
PVMXDIR = $(PVMBDIR)/$(PVM_ARCH)
PVMLDIR = $(PVMDIR)/lib/$(PVM_ARCH)
PVMLODIR = $(PVM_ROOT)/src/$(PVM_ARCH)
LPOBJ = \
$(PVMLODIR)/imalloc.o $(PVMLODIR)/tev.o $(PVMLODIR)/lpvmcat.o $(PVMLODIR)/lpvmgen.o \
$(PVMLODIR)/lpvmpack.o $(PVMLODIR)/lpvmglob.o $(PVMLODIR)/pmsg.o $(PVMLODIR)/pvmalloc.o \
$(PVMLODIR)/pvmcruft.o $(PVMLODIR)/pvmerr.o $(PVMLODIR)/pvmfrag.o $(PVMLODIR)/waitc.o \
$(PVMLODIR)/pvmregex.o $(PVMLODIR)/regex.o $(PVMLODIR)/global.o $(PVMLODIR)/pvmdabuf.o
PVMLIB = pvm3
LIBPREFIX = lib
PVMLIBDEP = $(PVMLDIR)/$(LIBPREFIX)$(PVMLIB).a
CFLAGS += $(CFLOPTS) -I$(PVMIDIR) -I$(PVMSDIR) -DIMA_$(PVM_ARCH) \
$(ARCHCFLAGS) -DSEM
LIBS = $(LOPT) -L$(PVMLDIR) -l$(PVMLIB) $(ARCHLIB)
DIRS = $(PVMXDIR) $(PVMLDIR)
PROGS = $(PVMXDIR)/pvm_shmd_stat$(EXESFX) \
$(PVMXDIR)/pvm_shmd$(EXESFX)
LPROGS = $(PVMLDIR)/pvm_shmd$(EXESFX)
LIBSHMDPVM = $(LIBPREFIX)pvm3shmd.a
install: all
install-mpp: all-mpp
all: $(DIRS) $(PROGS) $(PVMLDIR)/$(LIBSHMDPVM) $(LPROGS)
all-mpp: $(DIRS) $(PROGS) $(PVMLDIR)/$(LIBSHMDPVM)-mpp $(LPROGS)
$(PVMXDIR):
- mkdir $(PVMBDIR)
- mkdir $(PVMXDIR)
$(PVMLDIR):
- mkdir $(PVMLDIR)
$(PVMXDIR)/pvm_shmd_stat$(EXESFX): pvm_shmd_stat$(EXESFX)
cp pvm_shmd_stat$(EXESFX) $(PVMXDIR)
$(PVMXDIR)/pvm_shmd$(EXESFX): pvm_shmd$(EXESFX)
cp pvm_shmd$(EXESFX) $(PVMXDIR)
$(PVMLDIR)/$(LIBSHMDPVM): $(LIBSHMDPVM)
cp $(LIBSHMDPVM) $(PVMLDIR)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(PVMLDIR)/$(LIBSHMDPVM) ;; esac
$(PVMLDIR)/$(LIBSHMDPVM)-mpp: $(LIBSHMDPVM)-mpp
cp $(LIBSHMDPVM) $(PVMLDIR)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(PVMLDIR)/$(LIBSHMDPVM) ;; esac
touch $(PVMLDIR)/$(LIBSHMDPVM)-mpp
$(PVMLDIR)/pvm_shmd$(EXESFX): pvm_shmd$(EXESFX)
cp pvm_shmd $(PVMLDIR)
pvm_shmd$(EXESFX): $(DOBJ) $(PVMLIBDEP)
$(CC) $(CFLAGS) -o $@ $(DOBJ) $(LIBS)
pbwtest.shmd: ../../examples/bwtest.c $(XDIR)
$(CC) $(CFLAGS) -o $@ ../../examples/bwtest.c -L$(PVMLDIR) \
-lpvm3shmd -lgpvm3
mv $@ $(PVMXDIR)
$(LIBSHMDPVM): $(LOBJ) $(LPOBJ)
rm -f $(LIBSHMDPVM)
$(AR) cr $(LIBSHMDPVM) $(LOBJ) $(LPOBJ)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(LIBSHMDPVM) ;; esac
$(LIBSHMDPVM)-mpp: $(LOBJ)
rm -f $(LIBSHMDPVM)
$(AR_FRONT) cr $(LIBSHMDPVM) $(LOBJ)
case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(LIBSHMDPVM) ;; esac
touch $(LIBSHMDPVM)-mpp
pvm_shmd_stat$(EXESFX): pvm_shmd_stat.o $(LIBSHMDPVM) $(PVMLIBDEP)
$(CC) $(CFLAGS) -o $@ pvm_shmd_stat.o $(LIBSHMDPVM) $(LIBS)
clean:
rm -f $(DOBJ) $(LOBJ) pvm_shmd$(EXESFX) $(LIBSHMDPVM) \
pvm_shmd_stat.o pvm_shmd_stat$(EXESFX)
tidy:
rm -f $(DOBJ) $(LOBJ)
lint:
lint -DARCHCLASS=\"$(PVM_ARCH)\" pvm_shmd.c > Ld
lint -DARCHCLASS=\"$(PVM_ARCH)\" sendrecv.c > Ll
#
block.o: $(SDIR)/block.c
$(CC) $(CFLAGS) -c $(SDIR)/block.c
sem.o: $(SDIR)/sem.c
$(CC) $(CFLAGS) -c $(SDIR)/sem.c
tidinfo.o: $(SDIR)/tidinfo.c
$(CC) $(CFLAGS) -c $(SDIR)/tidinfo.c
pvm_shmd.o: $(SDIR)/pvm_shmd.c
$(CC) $(CFLAGS) -c $(SDIR)/pvm_shmd.c
pvm_shmd_stat.o: $(SDIR)/pvm_shmd_stat.c
$(CC) $(CFLAGS) -c $(SDIR)/pvm_shmd_stat.c
sendrecv.o: $(SDIR)/sendrecv.c
$(CC) $(CFLAGS) -c $(SDIR)/sendrecv.c
#
# OK to build a complete user lib we need to recompile the lpvm file
#
lpvm.o: $(PVMSLDIR)/lpvm.c
$(CC) $(CFLAGS) -DPVM_SHMD -c $(PVMSLDIR)/lpvm.c
#
# Source File Dependencies
#
include $(PVMDEPPATH)$(SDIR)/pvmdep
syntax highlighted by Code2HTML, v. 0.9.1