################################################################################
##
##  Makefile:   test/sysUtils
##
##  $Revision: 1.6 $  $Name: not supported by cvs2svn $
##  $Date: 2004-05-01 23:04:35 $
##
##  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
##
###############################################################################

###############################################################################
#    Note: I added specific entries for the psTrace files.  The reason I did
#    this was because the generic rules were failing on the existing test
#    code (and hence, on my tst_psTraceXX.c code as well).  I am tempted to
#    fix the generic rules, but that might break existing codes.  When this
#    problem is resolved, I'll remove the specific rules for psTrace.  -GLG
#    Also, psLogMsg.
#    Also, psHash.
###############################################################################
include ../../src/Makefile.Globals

PSLIB_INCL_DIR = ../../include
PSLIB_LIB_DIR = ../../lib

TARGET = tst_psError        \
         tstMemory          \
         atst_psAbort_01    \
         atst_psAbort_02    \
         atst_psAbort_03    \
         tst_psStringCopy
TARGET_TRACE = tst_psTrace00 tst_psTrace01 tst_psTrace02 tst_psTrace03 \
               tst_psTrace04
TARGET_LOGMSG = tst_psLogMsg00 tst_psLogMsg01 tst_psLogMsg02 tst_psLogMsg03
TARGET_HASH = tst_psHash00 tst_psHash01 tst_psHash02 tst_psHash03 tst_psHash04

all:		$(TARGET)
psTrace:	$(TARGET_TRACE)
psLogMsg:	$(TARGET_LOGMSG)
psHash:	$(TARGET_HASH)

tst_psError: tst_psError.o
atst_psAbort_01: atst_psAbort_01.o
atst_psAbort_02: atst_psAbort_02.o
atst_psAbort_03: atst_psAbort_03.o
tst_psStringCopy: tst_psStringCopy.o

clean:
	@echo "    Deleting executable and binary files for 'test/sysUtils'"
	$(RM) $(TARGET) *.o *.lint

tst_psHash00:	tst_psHash00.c
	$(CC) tst_psHash00.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psHash00

tst_psHash01:	tst_psHash01.c
	$(CC) tst_psHash01.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psHash01

tst_psHash02:	tst_psHash02.c
	$(CC) tst_psHash02.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psHash02

tst_psHash03:	tst_psHash03.c
	$(CC) tst_psHash03.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psHash03

tst_psHash04:	tst_psHash04.c
	$(CC) tst_psHash04.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psHash04

tst_psLogMsg00:	tst_psLogMsg00.c
	$(CC) tst_psLogMsg00.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psLogMsg00

tst_psLogMsg01:	tst_psLogMsg01.c
	$(CC) tst_psLogMsg01.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psLogMsg01

tst_psLogMsg02:	tst_psLogMsg02.c
	$(CC) tst_psLogMsg02.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psLogMsg02

tst_psLogMsg03:	tst_psLogMsg03.c
	$(CC) tst_psLogMsg03.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psLogMsg03

tst_psTrace00:	tst_psTrace00.c
	$(CC) tst_psTrace00.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psTrace00

tst_psTrace01:	tst_psTrace01.c
	$(CC) tst_psTrace01.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psTrace01

tst_psTrace02:	tst_psTrace02.c
	$(CC) tst_psTrace02.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psTrace02

tst_psTrace03:	tst_psTrace03.c
	$(CC) tst_psTrace03.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psTrace03

tst_psTrace04:	tst_psTrace04.c
	$(CC) tst_psTrace04.c $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -I$(PSLIB_INCL_DIR) -I.. -o tst_psTrace04

%.o : %.c
	$(CC) $(CFLAGS) $(CPPFLAGS) -I.. -I$(PSLIB_INCL_DIR) -c -o $@ $<

%   : %.o
	$(CC) $(LDFLAGS) -L$(PSLIB_LIB_DIR) -L.. -lpslib -lpstest -o $@ $<

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

distclean:
	rm -rf $(TARGET_TRACE) $(TARGET_LOGMSG) $(TARGET_HASH)
