diff -ur spooles.2.2.orig/ETree/src/makeGlobalLib spooles.2.2/ETree/src/makeGlobalLib
--- spooles.2.2.orig/ETree/src/makeGlobalLib	1998-09-17 14:25:01.000000000 -0500
+++ spooles.2.2/ETree/src/makeGlobalLib	2018-11-30 15:10:22.000000000 -0600
@@ -8,6 +8,7 @@
       basics.c \
       compress.c \
       init.c \
+      initFromSubtree.c \
       instance.c \
       justify.c \
       maps.c \
diff -ur spooles.2.2.orig/I2Ohash/src/util.c spooles.2.2/I2Ohash/src/util.c
--- spooles.2.2.orig/I2Ohash/src/util.c	1998-05-30 17:45:12.000000000 -0500
+++ spooles.2.2/I2Ohash/src/util.c	2018-11-30 15:17:10.000000000 -0600
@@ -39,7 +39,9 @@
 */
 loc1 = (key1 + 1) % hashtable->nlist ;
 loc2 = (key2 + 1) % hashtable->nlist ;
-loc  = (loc1*loc2) % hashtable->nlist ;
+/*loc  = (loc1*loc2) % hashtable->nlist ;*/
+long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+loc  = (int)loc3;
 #if MYDEBUG > 0
 fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
 fflush(stdout) ;
@@ -158,7 +160,9 @@
 #endif
 loc1 = (key1 + 1) % hashtable->nlist ;
 loc2 = (key2 + 1) % hashtable->nlist ;
-loc  = (loc1*loc2) % hashtable->nlist ;
+/*loc  = (loc1*loc2) % hashtable->nlist ;*/
+long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+loc  = (int)loc3;
 #if MYDEBUG > 0
 fprintf(stdout, "\n loc1 = %d, loc2 = %d, loc3 = %d", loc1, loc2, loc) ;
 fflush(stdout) ;
@@ -229,7 +233,9 @@
 }
 loc1 = (key1 + 1) % hashtable->nlist ;
 loc2 = (key2 + 1) % hashtable->nlist ;
-loc  = (loc1*loc2) % hashtable->nlist ;
+/*loc  = (loc1*loc2) % hashtable->nlist ;*/
+long int loc3  = (long int)loc1*(long int)loc2 % hashtable->nlist ;
+loc  = (int)loc3;
 /*
    ---------------------------------------------------
    find the location of the first (key1,key2,*) triple
diff -ur spooles.2.2.orig/IVL/src/makeGlobalLib spooles.2.2/IVL/src/makeGlobalLib
--- spooles.2.2.orig/IVL/src/makeGlobalLib	1998-09-17 14:25:30.000000000 -0500
+++ spooles.2.2/IVL/src/makeGlobalLib	2018-11-30 15:18:56.000000000 -0600
@@ -9,6 +9,7 @@
       init.c \
       instance.c \
       listmanip.c \
+      subIVL.c \
       misc.c \
       util.c
 
diff -ur spooles.2.2.orig/MPI/makefile spooles.2.2/MPI/makefile
--- spooles.2.2.orig/MPI/makefile	1998-12-17 09:47:44.000000000 -0600
+++ spooles.2.2/MPI/makefile	2018-11-30 15:21:22.000000000 -0600
@@ -1,8 +1,8 @@
 all_drivers :
-	cd drivers ; make drivers
+	cd drivers ; $(MAKE) drivers
 
 lib :
-	cd src ; make spoolesMPI.a
+	cd src ; $(MAKE) spoolesMPI.a
 
 clean :
 	cd src ; make clean
diff -ur spooles.2.2.orig/MPI/src/makeGlobalLib spooles.2.2/MPI/src/makeGlobalLib
--- spooles.2.2.orig/MPI/src/makeGlobalLib	1998-11-21 16:52:01.000000000 -0600
+++ spooles.2.2/MPI/src/makeGlobalLib	2018-12-01 09:23:50.000000000 -0600
@@ -29,7 +29,7 @@
       utilities.c
 
 OBJ_FILES = ${SRC:.c=.o}
-OBJ_FILES = MMM.o makeSendRecvIVLs.o
+#OBJ_FILES = MMM.o makeSendRecvIVLs.o
 
 .c.o :
 	$(PURIFY) $(CC) -c $(CFLAGS) $(MPI_INCLUDE_DIR) $*.c -o $(OBJ)_$*.o
@@ -38,4 +38,4 @@
 	$(AR) $(ARFLAGS) ../../spooles.a $(OBJ)_*.o
 	rm -f $(OBJ)_*.o
 	$(RANLIB) ../../spooles.a
-	
+	$(CC) -dynamiclib -Wl,-force_load,../../spooles.a -Wl,-x -Wl,-install_name,@@PREFIX@@/lib/libspooles.1.dylib -Wl,-compatibility_version,2.0 -Wl,-current_version,@@VERSION@@ -o ../../libspooles.1.dylib
diff -ur spooles.2.2.orig/MT/drivers/allInOneMT.c spooles.2.2/MT/drivers/allInOneMT.c
--- spooles.2.2.orig/MT/drivers/allInOneMT.c	1999-01-21 10:51:22.000000000 -0600
+++ spooles.2.2/MT/drivers/allInOneMT.c	2018-11-30 15:24:52.000000000 -0600
@@ -35,7 +35,7 @@
 Chv             *rootchv ;
 ChvManager      *chvmanager ;
 double          droptol = 0.0, tau = 100. ;
-double          cpus[10] ;
+double          cpus[11] ;     /* see MT/src/factor.c */
 DV              *cumopsDV ;
 ETree           *frontETree ;
 FrontMtx        *frontmtx ;
diff -ur spooles.2.2.orig/MT/makefile spooles.2.2/MT/makefile
--- spooles.2.2.orig/MT/makefile	1998-12-17 09:47:48.000000000 -0600
+++ spooles.2.2/MT/makefile	2018-11-30 15:25:42.000000000 -0600
@@ -1,8 +1,8 @@
 all_drivers :
-	cd drivers ; make drivers
+	cd drivers ; $(MAKE) drivers
 
 lib :
-	cd src ; make spoolesMT.a
+	cd src ; $(MAKE) spoolesMT.a
 
 clean :
 	cd src ; make clean
diff -ur spooles.2.2.orig/MT/src/makeGlobalLib spooles.2.2/MT/src/makeGlobalLib
--- spooles.2.2.orig/MT/src/makeGlobalLib	1998-09-17 14:25:59.000000000 -0500
+++ spooles.2.2/MT/src/makeGlobalLib	2018-12-01 09:25:00.000000000 -0600
@@ -19,3 +19,4 @@
 	$(AR) $(ARFLAGS) ../../spooles.a $(OBJ)_*.o
 	rm -f $(OBJ)_*.o
 	$(RANLIB) ../../spooles.a
+	$(CC) -dynamiclib -Wl,-force_load ../../spooles.a -Wl,-x -Wl,-install_name,@@PREFIX@@/lib/libspooles.1.dylib -Wl,-compatibility_version,2.0 -Wl,-current_version,@@VERSION@@ -o ../../libspooles.1.dylib
diff -ur spooles.2.2.orig/Make.inc spooles.2.2/Make.inc
--- spooles.2.2.orig/Make.inc	1999-01-18 15:48:55.000000000 -0600
+++ spooles.2.2/Make.inc	2018-11-30 15:45:43.000000000 -0600
@@ -12,7 +12,7 @@
 # for solaris
 #
 # CC = gcc
-  CC = /usr/lang-4.0/bin/cc
+# CC = /usr/lang-4.0/bin/cc
 #
 # for sgi
 #
@@ -22,36 +22,41 @@
 #
 # CC = /opt/mpi/bin/mpicc
 #
+# for macOS
+#
+  CC = @@CC@@
+#
 #----------------------------------------
 #
 #  set the compiler flags
 # 
 # OPTLEVEL = 
 # OPTLEVEL = -g -v
-  OPTLEVEL = -O
+# OPTLEVEL = -O
 # OPTLEVEL = -xO5 -v
 # OPTLEVEL = -O3
 # OPTLEVEL = -O4
 # CFLAGS = -Wall -g
 # CFLAGS = -Wall -pg
 # CFLAGS = $(OPTLEVEL) -D_POSIX_C_SOURCE=199506L
-  CFLAGS = $(OPTLEVEL)
+# CFLAGS = $(OPTLEVEL)
 # CFLAGS = -Wall $(OPTLEVEL)
+  CFLAGS = @@CFLAGS@@
 #
 #----------------------------------------
 #
 #  set any load flags
 #
 #  LDFLAGS = -Wl,+parallel -Wl,+tm,spp2000 # for hp exemplar
-   LDFLAGS =
+   LDFLAGS = @@LDFLAGS@@
 #
 #---------------------------------------------------------------------
 #
 #  set any thread libraries
 #
 # THREAD_LIBS =
-# THREAD_LIBS = -D_REENTRANT=199506L -lpthread
-  THREAD_LIBS = -D_POSIX_C_SOURCE=199506L -lpthread
+  THREAD_LIBS = -D_REENTRANT=199506L -lpthread
+# THREAD_LIBS = -D_POSIX_C_SOURCE=199506L -lpthread
 # THREAD_LIBS = -lpthread
 #
 #---------------------------------------------------------------------
@@ -79,15 +84,15 @@
 #  set the ranlib environment
 #  (if ranlib is not needed, we echo the library name)
 #
-# RANLIB = ranlib
-  RANLIB = echo
+  RANLIB = ranlib
+# RANLIB = echo
 #
 #---------------------------------------------------------------------
 #
 #  set suffix rule *.c --> *.o
 #
-.c.o : 
-	$(PURIFY) $(CC) -c $(CFLAGS) $<
+#.c.o : 
+#	$(PURIFY) $(CC) -c $(CFLAGS) $<
 #
 #---------------------------------------------------------------------
 #
@@ -102,8 +107,8 @@
 #
 #  MPI install library
 #
-# MPI_INSTALL_DIR = 
-  MPI_INSTALL_DIR = /usr/local/mpich-1.0.13
+  MPI_INSTALL_DIR = @@PREFIX@@
+# MPI_INSTALL_DIR = /usr/local/mpich-1.0.13
 #
 #---------------------------------------------------------------------
 #
@@ -115,12 +120,16 @@
 #
 # for solaris
 #
-  MPI_LIB_PATH = -L$(MPI_INSTALL_DIR)/lib/solaris/ch_p4
+# MPI_LIB_PATH = -L$(MPI_INSTALL_DIR)/lib/solaris/ch_p4
 #
 # for hp
 #
 # MPI_LIB_PATH = 
 #
+# for macOS
+#
+  MPI_LIB_PATH = -L$(MPI_INSTALL_DIR)/lib/mpich-mp
+#
 #---------------------------------------------------------------------
 #
 #  MPI libraries 
@@ -142,6 +151,6 @@
 #  MPI include path
 #
 # MPI_INCLUDE_DIR = 
-  MPI_INCLUDE_DIR = -I$(MPI_INSTALL_DIR)/include
+  MPI_INCLUDE_DIR = -I$(MPI_INSTALL_DIR)/include/mpich-mp
 #
 #---------------------------------------------------------------------
diff -ur spooles.2.2.orig/Tree/src/makeGlobalLib spooles.2.2/Tree/src/makeGlobalLib
--- spooles.2.2.orig/Tree/src/makeGlobalLib	1998-09-17 14:26:35.000000000 -0500
+++ spooles.2.2/Tree/src/makeGlobalLib	2018-11-30 15:46:53.000000000 -0600
@@ -6,7 +6,8 @@
 
 SRC = basics.c \
       compress.c \
-      drawTree.c \
+      draw.c \
+      subtree.c \
       init.c \
       instance.c \
       IO.c \
diff -ur spooles.2.2.orig/Utilities/MM.h spooles.2.2/Utilities/MM.h
--- spooles.2.2.orig/Utilities/MM.h	1998-05-30 17:45:00.000000000 -0500
+++ spooles.2.2/Utilities/MM.h	2018-11-30 15:54:26.000000000 -0600
@@ -30,21 +30,21 @@
 */
 #define ALLOCATE(ptr, type, count) \
 if ( (count) > 0 ) { \
-   if ( (ptr = (type *)malloc((unsigned long)((count)*sizeof(type)))) \
+   if ( (ptr = malloc((unsigned long)((count)*sizeof(type)))) \
         == NULL ) {\
       fprintf(stderr, \
-              "\n ALLOCATE failure : bytes %d, line %d, file %s", \
+              "\n ALLOCATE failure : bytes %lu, line %d, file %s", \
               (count)*sizeof(type), __LINE__, __FILE__) ; \
       exit(-1) ; } \
    else if ( MEMORY_DEBUG > 0 ) { \
       fprintf(stderr, \
-              "\n ALLOCATE : address %p, bytes %d, line %d, file %s", \
+              "\n ALLOCATE : address %p, bytes %lu, line %d, file %s", \
               ptr, (count)*sizeof(type), __LINE__, __FILE__) ; } } \
 else if ( (count) == 0 ) { \
    ptr = NULL ; } \
 else { \
    fprintf(stderr, \
-           "\n ALLOCATE error : bytes %d, line %d, file %s", \
+           "\n ALLOCATE error : bytes %lu, line %d, file %s", \
            (count)*sizeof(type), __LINE__, __FILE__) ; \
    exit(-1) ; }
 /*
diff -ur spooles.2.2.orig/Utilities/src/makeGlobalLib spooles.2.2/Utilities/src/makeGlobalLib
--- spooles.2.2.orig/Utilities/src/makeGlobalLib	1998-09-17 14:26:39.000000000 -0500
+++ spooles.2.2/Utilities/src/makeGlobalLib	2018-11-30 15:55:17.000000000 -0600
@@ -14,6 +14,7 @@
       PIV.c \
       IP.c \
       I2OP.c \
+      axpy.c \
       iohb.c \
       newsort.c \
       sortAndCompress.c \
diff -ur spooles.2.2.orig/makefile spooles.2.2/makefile
--- spooles.2.2.orig/makefile	1999-01-25 14:39:39.000000000 -0600
+++ spooles.2.2/makefile	2018-12-01 09:28:56.000000000 -0600
@@ -1,169 +1,169 @@
 drivers :
-	cd A2               ; make all_drivers
-	cd BKL              ; make all_drivers
-	cd BPG              ; make all_drivers
-	cd Chv              ; make all_drivers
-	cd ChvList          ; make all_drivers
-	cd ChvManager       ; make all_drivers
-	cd Coords           ; make all_drivers
-	cd DSTree           ; make all_drivers
-	cd DV               ; make all_drivers
-	cd DenseMtx         ; make all_drivers
-	cd Drand            ; make all_drivers
-	cd EGraph           ; make all_drivers
-	cd ETree            ; make all_drivers
-	cd FrontMtx         ; make all_drivers
-	cd GPart            ; make all_drivers
-	cd Graph            ; make all_drivers
-	cd I2Ohash          ; make all_drivers
-	cd IIheap           ; make all_drivers
-	cd IV               ; make all_drivers
-	cd IVL              ; make all_drivers
-	cd Ideq             ; make all_drivers
-	cd InpMtx           ; make all_drivers
-	cd Lock             ; make all_drivers
-	cd MPI              ; make all_drivers
-	cd MSMD             ; make all_drivers
-	cd MT               ; make all_drivers
-	cd Network          ; make all_drivers
-	cd PatchAndGoInfo   ; make all_drivers
-	cd Pencil           ; make all_drivers
-	cd Perm             ; make all_drivers
-	cd SemiImplMtx      ; make all_drivers
-	cd SolveMap         ; make all_drivers
-	cd SubMtx           ; make all_drivers
-	cd SubMtxList       ; make all_drivers
-	cd SubMtxManager    ; make all_drivers
-	cd SymbFac          ; make all_drivers
-	cd Tree             ; make all_drivers
-	cd Utilities        ; make all_drivers
-	cd ZV               ; make all_drivers
-	cd misc             ; make all_drivers
+	cd A2               ; $(MAKE) all_drivers
+	cd BKL              ; $(MAKE) all_drivers
+	cd BPG              ; $(MAKE) all_drivers
+	cd Chv              ; $(MAKE) all_drivers
+	cd ChvList          ; $(MAKE) all_drivers
+	cd ChvManager       ; $(MAKE) all_drivers
+	cd Coords           ; $(MAKE) all_drivers
+	cd DSTree           ; $(MAKE) all_drivers
+	cd DV               ; $(MAKE) all_drivers
+	cd DenseMtx         ; $(MAKE) all_drivers
+	cd Drand            ; $(MAKE) all_drivers
+	cd EGraph           ; $(MAKE) all_drivers
+	cd ETree            ; $(MAKE) all_drivers
+	cd FrontMtx         ; $(MAKE) all_drivers
+	cd GPart            ; $(MAKE) all_drivers
+	cd Graph            ; $(MAKE) all_drivers
+	cd I2Ohash          ; $(MAKE) all_drivers
+	cd IIheap           ; $(MAKE) all_drivers
+	cd IV               ; $(MAKE) all_drivers
+	cd IVL              ; $(MAKE) all_drivers
+	cd Ideq             ; $(MAKE) all_drivers
+	cd InpMtx           ; $(MAKE) all_drivers
+	cd Lock             ; $(MAKE) all_drivers
+	cd MPI              ; $(MAKE) all_drivers
+	cd MSMD             ; $(MAKE) all_drivers
+	cd MT               ; $(MAKE) all_drivers
+	cd Network          ; $(MAKE) all_drivers
+	cd PatchAndGoInfo   ; $(MAKE) all_drivers
+	cd Pencil           ; $(MAKE) all_drivers
+	cd Perm             ; $(MAKE) all_drivers
+	cd SemiImplMtx      ; $(MAKE) all_drivers
+	cd SolveMap         ; $(MAKE) all_drivers
+	cd SubMtx           ; $(MAKE) all_drivers
+	cd SubMtxList       ; $(MAKE) all_drivers
+	cd SubMtxManager    ; $(MAKE) all_drivers
+	cd SymbFac          ; $(MAKE) all_drivers
+	cd Tree             ; $(MAKE) all_drivers
+	cd Utilities        ; $(MAKE) all_drivers
+	cd ZV               ; $(MAKE) all_drivers
+	cd misc             ; $(MAKE) all_drivers
 
 clean :
-	cd A2               ; make clean
-	cd BKL              ; make clean
-	cd BPG              ; make clean
-	cd Chv              ; make clean
-	cd ChvList          ; make clean
-	cd ChvManager       ; make clean
-	cd Coords           ; make clean
-	cd DSTree           ; make clean
-	cd DV               ; make clean
-	cd DenseMtx         ; make clean
-	cd Drand            ; make clean
-	cd EGraph           ; make clean
-	cd ETree            ; make clean
-	cd FrontMtx         ; make clean
-	cd GPart            ; make clean
-	cd Graph            ; make clean
-	cd I2Ohash          ; make clean
-	cd IIheap           ; make clean
-	cd IV               ; make clean
-	cd IVL              ; make clean
-	cd Ideq             ; make clean
-	cd InpMtx           ; make clean
-	cd Lock             ; make clean
-	cd MPI              ; make clean
-	cd MSMD             ; make clean
-	cd MT               ; make clean
-	cd Network          ; make clean
-	cd PatchAndGoInfo   ; make clean
-	cd Pencil           ; make clean
-	cd Perm             ; make clean
-	cd SemiImplMtx      ; make clean
-	cd SolveMap         ; make clean
-	cd SubMtx           ; make clean
-	cd SubMtxList       ; make clean
-	cd SubMtxManager    ; make clean
-	cd SymbFac          ; make clean
-	cd Tree             ; make clean
-	cd Utilities        ; make clean
-	cd ZV               ; make clean
-	cd misc             ; make clean
-	cd documentation    ; make clean
+	cd A2               ; $(MAKE) clean
+	cd BKL              ; $(MAKE) clean
+	cd BPG              ; $(MAKE) clean
+	cd Chv              ; $(MAKE) clean
+	cd ChvList          ; $(MAKE) clean
+	cd ChvManager       ; $(MAKE) clean
+	cd Coords           ; $(MAKE) clean
+	cd DSTree           ; $(MAKE) clean
+	cd DV               ; $(MAKE) clean
+	cd DenseMtx         ; $(MAKE) clean
+	cd Drand            ; $(MAKE) clean
+	cd EGraph           ; $(MAKE) clean
+	cd ETree            ; $(MAKE) clean
+	cd FrontMtx         ; $(MAKE) clean
+	cd GPart            ; $(MAKE) clean
+	cd Graph            ; $(MAKE) clean
+	cd I2Ohash          ; $(MAKE) clean
+	cd IIheap           ; $(MAKE) clean
+	cd IV               ; $(MAKE) clean
+	cd IVL              ; $(MAKE) clean
+	cd Ideq             ; $(MAKE) clean
+	cd InpMtx           ; $(MAKE) clean
+	cd Lock             ; $(MAKE) clean
+	cd MPI              ; $(MAKE) clean
+	cd MSMD             ; $(MAKE) clean
+	cd MT               ; $(MAKE) clean
+	cd Network          ; $(MAKE) clean
+	cd PatchAndGoInfo   ; $(MAKE) clean
+	cd Pencil           ; $(MAKE) clean
+	cd Perm             ; $(MAKE) clean
+	cd SemiImplMtx      ; $(MAKE) clean
+	cd SolveMap         ; $(MAKE) clean
+	cd SubMtx           ; $(MAKE) clean
+	cd SubMtxList       ; $(MAKE) clean
+	cd SubMtxManager    ; $(MAKE) clean
+	cd SymbFac          ; $(MAKE) clean
+	cd Tree             ; $(MAKE) clean
+	cd Utilities        ; $(MAKE) clean
+	cd ZV               ; $(MAKE) clean
+	cd misc             ; $(MAKE) clean
+	cd documentation    ; $(MAKE) clean
 	- rm -f *.o *.a
 
 lib :
-	cd A2               ; make lib
-	cd BKL              ; make lib
-	cd BPG              ; make lib
-	cd Chv              ; make lib
-	cd ChvList          ; make lib
-	cd ChvManager       ; make lib
-	cd Coords           ; make lib
-	cd DSTree           ; make lib
-	cd DV               ; make lib
-	cd DenseMtx         ; make lib
-	cd Drand            ; make lib
-	cd EGraph           ; make lib
-	cd ETree            ; make lib
-	cd FrontMtx         ; make lib
-	cd GPart            ; make lib
-	cd Graph            ; make lib
-	cd I2Ohash          ; make lib
-	cd IIheap           ; make lib
-	cd IV               ; make lib
-	cd IVL              ; make lib
-	cd Ideq             ; make lib
-	cd InpMtx           ; make lib
-	cd Lock             ; make lib
-	cd MSMD             ; make lib
-	cd Network          ; make lib
-	cd PatchAndGoInfo   ; make lib
-	cd Pencil           ; make lib
-	cd Perm             ; make lib
-	cd SemiImplMtx      ; make lib
-	cd SolveMap         ; make lib
-	cd SubMtx           ; make lib
-	cd SubMtxList       ; make lib
-	cd SubMtxManager    ; make lib
-	cd SymbFac          ; make lib
-	cd Tree             ; make lib
-	cd Utilities        ; make lib
-	cd ZV               ; make lib
-	cd misc             ; make lib
-#cd MPI              ; make lib
-#cd MT               ; make lib
+	cd A2               ; $(MAKE) lib
+	cd BKL              ; $(MAKE) lib
+	cd BPG              ; $(MAKE) lib
+	cd Chv              ; $(MAKE) lib
+	cd ChvList          ; $(MAKE) lib
+	cd ChvManager       ; $(MAKE) lib
+	cd Coords           ; $(MAKE) lib
+	cd DSTree           ; $(MAKE) lib
+	cd DV               ; $(MAKE) lib
+	cd DenseMtx         ; $(MAKE) lib
+	cd Drand            ; $(MAKE) lib
+	cd EGraph           ; $(MAKE) lib
+	cd ETree            ; $(MAKE) lib
+	cd FrontMtx         ; $(MAKE) lib
+	cd GPart            ; $(MAKE) lib
+	cd Graph            ; $(MAKE) lib
+	cd I2Ohash          ; $(MAKE) lib
+	cd IIheap           ; $(MAKE) lib
+	cd IV               ; $(MAKE) lib
+	cd IVL              ; $(MAKE) lib
+	cd Ideq             ; $(MAKE) lib
+	cd InpMtx           ; $(MAKE) lib
+	cd Lock             ; $(MAKE) lib
+	cd MSMD             ; $(MAKE) lib
+	cd Network          ; $(MAKE) lib
+	cd PatchAndGoInfo   ; $(MAKE) lib
+	cd Pencil           ; $(MAKE) lib
+	cd Perm             ; $(MAKE) lib
+	cd SemiImplMtx      ; $(MAKE) lib
+	cd SolveMap         ; $(MAKE) lib
+	cd SubMtx           ; $(MAKE) lib
+	cd SubMtxList       ; $(MAKE) lib
+	cd SubMtxManager    ; $(MAKE) lib
+	cd SymbFac          ; $(MAKE) lib
+	cd Tree             ; $(MAKE) lib
+	cd Utilities        ; $(MAKE) lib
+	cd ZV               ; $(MAKE) lib
+	cd misc             ; $(MAKE) lib
+#cd MPI              ; $(MAKE) lib
+#cd MT               ; $(MAKE) lib
 
 global :
-	cd A2/src             ; make -f makeGlobalLib
-	cd BKL/src            ; make -f makeGlobalLib
-	cd BPG/src            ; make -f makeGlobalLib
-	cd Chv/src            ; make -f makeGlobalLib
-	cd ChvList/src        ; make -f makeGlobalLib
-	cd ChvManager/src     ; make -f makeGlobalLib
-	cd Coords/src         ; make -f makeGlobalLib
-	cd DSTree/src         ; make -f makeGlobalLib
-	cd DV/src             ; make -f makeGlobalLib
-	cd DenseMtx/src       ; make -f makeGlobalLib
-	cd Drand/src          ; make -f makeGlobalLib
-	cd EGraph/src         ; make -f makeGlobalLib
-	cd ETree/src          ; make -f makeGlobalLib
-	cd FrontMtx/src       ; make -f makeGlobalLib
-	cd GPart/src          ; make -f makeGlobalLib
-	cd Graph/src          ; make -f makeGlobalLib
-	cd I2Ohash/src        ; make -f makeGlobalLib
-	cd IIheap/src         ; make -f makeGlobalLib
-	cd IV/src             ; make -f makeGlobalLib
-	cd IVL/src            ; make -f makeGlobalLib
-	cd Ideq/src           ; make -f makeGlobalLib
-	cd InpMtx/src         ; make -f makeGlobalLib
-	cd Lock/src           ; make -f makeGlobalLib
-	cd MSMD/src           ; make -f makeGlobalLib
-	cd Network/src        ; make -f makeGlobalLib
-	cd PatchAndGoInfo/src ; make -f makeGlobalLib
-	cd Pencil/src         ; make -f makeGlobalLib
-	cd Perm/src           ; make -f makeGlobalLib
-	cd SemiImplMtx/src    ; make -f makeGlobalLib
-	cd SolveMap/src       ; make -f makeGlobalLib
-	cd SubMtx/src         ; make -f makeGlobalLib
-	cd SubMtxList/src     ; make -f makeGlobalLib
-	cd SubMtxManager/src  ; make -f makeGlobalLib
-	cd SymbFac/src        ; make -f makeGlobalLib
-	cd Tree/src           ; make -f makeGlobalLib
-	cd Utilities/src      ; make -f makeGlobalLib
-	cd ZV/src             ; make -f makeGlobalLib
-	cd misc/src           ; make -f makeGlobalLib
-#cd MPI/src            ; make -f makeGlobalLib
-#cd MT/src             ; make -f makeGlobalLib
+	cd A2/src             ; $(MAKE) -f makeGlobalLib
+	cd BKL/src            ; $(MAKE) -f makeGlobalLib
+	cd BPG/src            ; $(MAKE) -f makeGlobalLib
+	cd Chv/src            ; $(MAKE) -f makeGlobalLib
+	cd ChvList/src        ; $(MAKE) -f makeGlobalLib
+	cd ChvManager/src     ; $(MAKE) -f makeGlobalLib
+	cd Coords/src         ; $(MAKE) -f makeGlobalLib
+	cd DSTree/src         ; $(MAKE) -f makeGlobalLib
+	cd DV/src             ; $(MAKE) -f makeGlobalLib
+	cd DenseMtx/src       ; $(MAKE) -f makeGlobalLib
+	cd Drand/src          ; $(MAKE) -f makeGlobalLib
+	cd EGraph/src         ; $(MAKE) -f makeGlobalLib
+	cd ETree/src          ; $(MAKE) -f makeGlobalLib
+	cd FrontMtx/src       ; $(MAKE) -f makeGlobalLib
+	cd GPart/src          ; $(MAKE) -f makeGlobalLib
+	cd Graph/src          ; $(MAKE) -f makeGlobalLib
+	cd I2Ohash/src        ; $(MAKE) -f makeGlobalLib
+	cd IIheap/src         ; $(MAKE) -f makeGlobalLib
+	cd IV/src             ; $(MAKE) -f makeGlobalLib
+	cd IVL/src            ; $(MAKE) -f makeGlobalLib
+	cd Ideq/src           ; $(MAKE) -f makeGlobalLib
+	cd InpMtx/src         ; $(MAKE) -f makeGlobalLib
+	cd Lock/src           ; $(MAKE) -f makeGlobalLib
+	cd MSMD/src           ; $(MAKE) -f makeGlobalLib
+	cd Network/src        ; $(MAKE) -f makeGlobalLib
+	cd PatchAndGoInfo/src ; $(MAKE) -f makeGlobalLib
+	cd Pencil/src         ; $(MAKE) -f makeGlobalLib
+	cd Perm/src           ; $(MAKE) -f makeGlobalLib
+	cd SemiImplMtx/src    ; $(MAKE) -f makeGlobalLib
+	cd SolveMap/src       ; $(MAKE) -f makeGlobalLib
+	cd SubMtx/src         ; $(MAKE) -f makeGlobalLib
+	cd SubMtxList/src     ; $(MAKE) -f makeGlobalLib
+	cd SubMtxManager/src  ; $(MAKE) -f makeGlobalLib
+	cd SymbFac/src        ; $(MAKE) -f makeGlobalLib
+	cd Tree/src           ; $(MAKE) -f makeGlobalLib
+	cd Utilities/src      ; $(MAKE) -f makeGlobalLib
+	cd ZV/src             ; $(MAKE) -f makeGlobalLib
+	cd misc/src           ; $(MAKE) -f makeGlobalLib
+#cd MPI/src            ; $(MAKE) -f makeGlobalLib
+#cd MT/src             ; $(MAKE) -f makeGlobalLib
