###############################################################################
##
##  Makefile:   collections
##
##  $Revision: 1.11 $  $Name: not supported by cvs2svn $
##  $Date: 2004-05-13 20:10:36 $
##
##  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

# Define the two targets to be built

TARGET_STATIC  = libpslib.a

# Include the make global definitions for the project

include ../Makefile.Globals

# Set CFLAGS used by the implicit rule to compile .c

CFLAGS := $(CFLAGS_RELOC) -I../sysUtils 

# Define the source objects
 
SRC_OBJS = psBitSet.o \
           psVector.o \
           psSort.o

# Define PHONY target "all" which will make all the necessary items

all: $(TARGET_STATIC)

# 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)

# Define PHONY target "install" which will install necessary files

install: $(TARGET_STATIC)
	install *.h $(includedir)

# Define PHONY target "distclean" which will cleanup the distribution

distclean:	clean
	$(RM) ../$(TARGET_STATIC)

# Define PHONY target "clean" which will cleanup the development area

clean:
	@echo "    Deleting intermediate files for 'collections'"
	$(RM) $(SRC_OBJS) *.lint

%.lint: %.c
	splint +posixlib -exportlocal -realcompare $(INCLUDE_GLOBAL) $? > $@; cat $@ 
