Index: /trunk/psLib/src/sysUtils/Makefile
===================================================================
--- /trunk/psLib/src/sysUtils/Makefile	(revision 446)
+++ /trunk/psLib/src/sysUtils/Makefile	(revision 447)
@@ -1,30 +1,74 @@
-#################################################################
+###############################################################################
 ##
+##  Makefile:   sysUtils
 ##
-#################################################################
+##  $Revision: 1.3 $  $Name: not supported by cvs2svn $
+##  $Date: 2004-04-19 19:42:43 $
+##
+##  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
+###############################################################################
+
+# Define variable prefix to the top level project - psLib
+# This is necessary for definition is Makefile.Globals uses prefix
+
 ifndef prefix
     export prefix=$(shell cd ../..;pwd)
 endif
 
-TARGET = libpsSysUtils.a
+# Define the two targets to be built
 
-all: $(TARGET)
+TARGET_STATIC  = libpslib.a
+TARGET_DYNAMIC = libpslib.$(DLL)
+
+# Include the make global definitions for the project
 
 include ../Makefile.Globals
 
-SRC_OBJS = psMemory.o psError.o psAbort.o
+# Set CFLAGS used by the implicit rule to compile .c
 
-libpsSysUtils.a: $(SRC_OBJS)
-	$(AR) -r libpsSysUtils.a $(SRC_OBJS)
+CFLAGS := $(CFLAGS_RELOC)
 
-install: $(TARGET)
+# Define the source objects
+ 
+SRC_OBJS = psMemory.o    \
+           psError.o     \
+           psAbort.o     \
+           psString.o
+
+# Define PHONY target "all" which will make all the necessary items
+
+all: $(TARGET_STATIC) $(TARGET_DYNAMIC)
+
+# Rule to make static library
+
+libpslib.a: $(SRC_OBJS)
+# The ar option -r is to add/replace object and -s is to create
+# a symbol table in the archive
+	$(AR) rcs ../$@ $(SRC_OBJS)
+
+# Rule to make dynamic library
+
+libpslib.$(DLL): $(SRC_OBJS)
+	$(CC) $(LDFLAGS_DLL) $(SRC_OBJS) -o ../$@  
+
+# Define PHONY target "install" which will install necessary files
+
+install: $(TARGET_STATIC) $(TARGET_DYNAMIC)
 	install *.h $(includedir)
-	install $(TARGET) $(libexecdir)
+	install ../$(TARGET_STATIC) $(libexecdir)
+	install ../$(TARGET_DYNAMIC) $(libexecdir)
+
+# Define PHONY target "distclean" which will cleanup the distribution
 
 distclean:	clean
-	$(RM) $(TARGET)
+	$(RM) ../$(TARGET_STATIC)
+	$(RM) ../$(TARGET_DYNAMIC)
+	$(RM) $(libexecdir)/$(TARGET_STATIC)
+	$(RM) $(libexecdir)/$(TARGET_DYNAMIC)
+
+# Define PHONY target "clean" which will cleanup the development area
 
 clean:
-	@echo "    Deleting intermediate files for 'utilities - $(CFG)'"
+	@echo "    Deleting intermediate files for 'sysUtils'"
 	$(RM) $(SRC_OBJS) *.lint
 
