#configurable macros

CC	= gcc
EXE	= .exe

#note the trailing slashes on directories

SBDIR = ../
LIBDIR	= $(SBDIR)lib/
SD	= src/
SRCDIR	= $(SBDIR)$(SD)
INCDIR	= $(SBDIR)include/
SBLIBS	= -lSB
DO_STATS = -DDO_STATS

CFLAGS	= -ansi -g3 -I$(INCDIR) $(DO_STATS)
#CFLAGS	= -ansi -fullwarn -g -I$(INCDIR)
#CFLAGS = -A -A -I$(INCDIR)

RAND	= std_rand
# for a better generator on sgi's, use
#RAND	= sgi_rand

RANLIB	= true
# for SunOS4 and alphas, use 
#RANLIB	= ranlib

MAKELIB = ar ruv
# for shared libraries, maybe use:
#MAKELIB = ld -G -o

SBLIB = libSB.a
# for shared libraries, maybe use:
# SBLIB = libSB.so



#========================================================
#	end of user-configurable macros
#========================================================

# general dependencies

SBHEADS = $(INCDIR)sb.h

$(SRCDIR)pool.o $(SRCDIR)heap.o : $(SRCDIR)pool.c  $(INCDIR)pool.h $(SRCDIR)heap.c $(INCDIR)heap.h

$(SRCDIR)$(RAND).o : $(SRCDIR)$(RAND).c $(INCDIR)my_rand.h

$(SRCDIR)drive_sb.o $(SRCDIR)drive_M.o $(SRCDIR)do_test.o : $(SRCDIR)drive_sb.c $(SRCDIR)drive_M.c $(SRCDIR)do_test.c $(SBHEADS) $(INCDIR)do_test.h $(INCDIR)gen_dist.h $(INCDIR)my_rand.h

$(SRCDIR)MMM.o $(SRCDIR)sb.o : $(SRCDIR)MMM.c $(SRCDIR)sb.c $(SBHEADS) $(INCDIR)pool.h $(INCDIR)heap.h

$(SRCDIR)MMM.o $(SRCDIR)drive_M.o : $(INCDIR)MMM.h

$(DIST)drive_sb$(EXE) $(DIST)drive_M$(EXE) : $(SRCDIR)drive_sb.o $(DIST)dist.o  $(LIBDIR)$(SBLIB) $(SRCDIR)do_test.o
$(DIST)drive_M$(EXE) : $(SRCDIR)drive_M.o 
$(DIST)drive_sb$(EXE) : $(SRCDIR)drive_sb.o 

$(LIBDIR)$(SBLIB): $(SRCDIR)sb.o $(SRCDIR)MMM.o $(SRCDIR)pool.o $(SRCDIR)$(RAND).o $(SRCDIR)heap.o
