# destination directory for libraries and
# include files
INCDIR = /usa/chavey/include
LIBDIR = /usa/chavey/lib

#
# compiler
CC = gcc -ggdb -I../linklist

#
# librarian
AR = ar -r
RANLIB = ranlib

#
# linklist directory
LINKDIR = ./linklist
LINKC   = $(LINKDIR)/linklist.c
LINKSRC = $(LINKC) $(LINKDIR)/linklist.h
LINKOBJ = $(LINKDIR)/linklist.o

#
# stack directory
STACKDIR = ./stack
STACKC   = $(STACKDIR)/stack.c
STACKSRC = $(STACKC) $(STACKDIR)/stack.h $(LINKSRC)
STACKOBJ = $(STACKDIR)/stack.o

#
# queue directory
QUEUEDIR = ./queue
QUEUEC   = $(QUEUEDIR)/queue.c
QUEUESRC = $(QUEUEC) $(QUEUEDIR)/queue.h $(LINKSRC)
QUEUEOBJ = $(QUEUEDIR)/queue.o

LIBFILE = $(LINKOBJ) $(STACKOBJ) $(QUEUEOBJ)

datalib.a: $(LIBFILE) 
	$(AR) libdatalib.a $(LIBFILE) 
	$(RANLIB) libdatalib.a
	cp libdatalib.a $(LIBDIR)
	cp ./linklist/linklist.h $(INCDIR)
	cp ./stack/stack.h $(INCDIR)
	cp ./queue/queue.h $(INCDIR)

$(LINKOBJ): $(LINKSRC) 
	$(CC) -c $(LINKC) -o $(LINKOBJ) 

$(STACKOBJ): $(STACKSRC) 
	$(CC) -c $(STACKC) -I$(LINKDIR) -o $(STACKOBJ) 

$(QUEUEOBJ): $(QUEUESRC) 
	$(CC) -c $(QUEUEC) -I$(LINKDIR) -o $(QUEUEOBJ) 
