$NetBSD$

--- pvmgs/Makefile.aimk.orig	2001-11-30 20:33:11.000000000 +0000
+++ pvmgs/Makefile.aimk
@@ -26,7 +26,7 @@ PVMXDIR		=	$(PVMBDIR)/$(PVM_ARCH)
 PVMLDIR		=	$(PVMDIR)/lib/$(PVM_ARCH)
 PVMLIB		=	pvm3
 LIBPREFIX	=	lib
-PVMLIBDEP	=	$(PVMLDIR)/$(LIBPREFIX)$(PVMLIB).a
+PVMLIBDEP	=	$(PVMLDIR)/$(LIBPREFIX)$(PVMLIB).la
 
 # Add -DPVMGSTIMEOUT=XXX to CFLAGS to allow timeouts for PVM group
 # server requests, where XXX is the number of seconds for the timeout.
@@ -45,7 +45,7 @@ PROGS		=	$(PVMXDIR)/pvm_gstat$(EXESFX) \
 
 LPROGS		=	$(PVMLDIR)/pvmgs$(EXESFX)
 
-LIBGPVM		=	$(LIBPREFIX)gpvm3.a
+LIBGPVM		=	$(LIBPREFIX)gpvm3.la
 
 install:	all
 
@@ -63,17 +63,24 @@ $(PVMLDIR):
 	- mkdir $(PVMLDIR)
 
 $(PVMXDIR)/pvm_gstat$(EXESFX):  pvm_gstat$(EXESFX)
+	${MKDIR} $(PVMXDIR)/.libs
+	-cp .libs/pvm_gstat$(EXESFX) $(PVMXDIR)/.libs
 	cp pvm_gstat$(EXESFX) $(PVMXDIR)
 
 $(PVMXDIR)/pvmgs$(EXESFX):  pvmgs$(EXESFX)
+	${MKDIR} $(PVMXDIR)/.libs
+	-cp .libs/pvmgs$(EXESFX) $(PVMXDIR)/.libs
 	cp pvmgs$(EXESFX) $(PVMXDIR)
 
 $(PVMXDIR)/pvmgroups$(EXESFX):  pvmgroups$(EXESFX)
+	${MKDIR} $(PVMXDIR)/.libs
+	-cp .libs/pvmgroups$(EXESFX) $(PVMXDIR)/.libs
 	cp pvmgroups$(EXESFX) $(PVMXDIR)
 
 $(PVMLDIR)/$(LIBGPVM):  $(LIBGPVM)
-	cp $(LIBGPVM) $(PVMLDIR)
-	case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(PVMLDIR)/$(LIBGPVM) ;; esac
+	${MKDIR} $(PVMLDIR)/.libs
+	-cp .libs/* $(PVMLDIR)/.libs
+	cp $(LIBGPVM:.la=.*) $(PVMLDIR)
 
 $(PVMLDIR)/$(LIBGPVM)-mpp:  $(LIBGPVM)-mpp
 	cp $(LIBGPVM) $(PVMLDIR)
@@ -81,18 +88,23 @@ $(PVMLDIR)/$(LIBGPVM)-mpp:  $(LIBGPVM)-m
 	touch $(PVMLDIR)/$(LIBGPVM)-mpp
 
 $(PVMLDIR)/pvmgs$(EXESFX):  pvmgs$(EXESFX)
+	${MKDIR} $(PVMLDIR)/.libs
+	-cp .libs/pvmgs$(EXESFX) $(PVMLDIR)/.libs
 	cp pvmgs$(EXESFX) $(PVMLDIR)
 
+LTCC=	${LIBTOOL} --mode=compile ${CC}
+
 pvmgroups$(EXESFX):	pvmgroups.o $(LIBGPVM) $(PVMLIBDEP)
-	$(CC) $(CFLAGS) -o $@ pvmgroups.o $(LIBGPVM) $(LIBS) 
+	$(LIBTOOL) --mode=link $(CC) ${PVM_STATIC} $(CFLAGS) -o $@ pvmgroups.lo $(LIBGPVM) $(LIBS) 
 
 pvmgs$(EXESFX):	$(DOBJ) $(PVMLIBDEP)
-	$(CC) $(CFLAGS) -o $@ $(DOBJ) $(LIBS)
+	$(LIBTOOL) --mode=link $(CC) ${PVM_STATIC} $(CFLAGS) -o $@ $(DOBJ:.o=.lo) $(LIBS)
 
 $(LIBGPVM):	$(LOBJ)
 	rm -f $(LIBGPVM)
-	$(AR) cr $(LIBGPVM) $(LOBJ)
-	case x$(HASRANLIB) in xt ) echo ranlib; ranlib $(LIBGPVM) ;; esac
+	${LIBTOOL} --mode=link ${CC} ${PVM_STATIC} -o $@ ${LOBJ:.o=.lo} \
+		-rpath ${PVM_DIR}/lib/$(PVM_ARCH) \
+		-version-info ${PVMLIB_VER}
 
 $(LIBGPVM)-mpp:	$(LOBJ)
 	rm -f $(LIBGPVM)
@@ -101,7 +113,7 @@ $(LIBGPVM)-mpp:	$(LOBJ)
 	touch $(LIBGPVM)-mpp
 
 pvm_gstat$(EXESFX): pvm_gstat.o $(LIBGPVM) $(PVMLIBDEP)
-	$(CC) $(CFLAGS) -o $@ pvm_gstat.o $(LIBGPVM) $(LIBS)
+	$(LIBTOOL) --mode=link $(CC) ${PVM_STATIC} $(CFLAGS) -o $@ pvm_gstat.lo $(LIBGPVM) $(LIBS)
 
 clean:
 	rm -f $(DOBJ) $(LOBJ) pvmgs$(EXESFX) $(LIBGPVM) \
@@ -116,17 +128,17 @@ lint:
 
 #
 pvmgsu_core.o:	$(SDIR)/pvmgsu_core.c
-	$(CC) $(CFLAGS) -c $(SDIR)/pvmgsu_core.c
+	$(LTCC) $(CFLAGS) -c $(SDIR)/pvmgsu_core.c
 pvmgsu_aux.o:	$(SDIR)/pvmgsu_aux.c
-	$(CC) $(CFLAGS) -c $(SDIR)/pvmgsu_aux.c
+	$(LTCC) $(CFLAGS) -c $(SDIR)/pvmgsu_aux.c
 pvmgroups.o:	$(SDIR)/pvmgroups.c
-	$(CC) $(CFLAGS) -c $(SDIR)/pvmgroups.c
+	$(LTCC) $(CFLAGS) -c $(SDIR)/pvmgroups.c
 pvm_gstat.o:	$(SDIR)/pvm_gstat.c
-	$(CC) $(CFLAGS) -c $(SDIR)/pvm_gstat.c
+	$(LTCC) $(CFLAGS) -c $(SDIR)/pvm_gstat.c
 pvmgs_core.o:	$(SDIR)/pvmgs_core.c
-	$(CC) $(CFLAGS) -c $(SDIR)/pvmgs_core.c
+	$(LTCC) $(CFLAGS) -c $(SDIR)/pvmgs_core.c
 pvmgs_func.o:	$(SDIR)/pvmgs_func.c
-	$(CC) $(CFLAGS) -c $(SDIR)/pvmgs_func.c
+	$(LTCC) $(CFLAGS) -c $(SDIR)/pvmgs_func.c
 
 #
 # Source File Dependencies
