#
# Library Makefile
#

include ../makeConfig

LIB= list.a 

all:  $(LIB)

OBJ= construct_lnode.o \
delete_lnode.o \
destroy_lnode.o \
diff_fwd_lists.o \
diff_rev_lists.o \
dup_list.o \
find_lnode.o \
free_list.o \
fwd_insert_lnode.o \
lists_equal.o \
match_list.o \
merge_lists.o \
print_list.o \
remove_lnode.o \
rev_insert_lnode.o 

SRC=$(OBJ:.o=.c)

MKF= Makefile ../makeConfig

CFLAGS=$(DEBUG) $(EXTRA_CFLAGS)

list.a: $(OBJ) list.h
	$(AR) $(AR_FLAGS) $(LIB) $(OBJ)

clean:
	rm -f $(OBJ)

clobber:
	rm -f $(OBJ)
	rm -f $(LIB)

lint::
	lint -u -x -m $(CFLAGS) $(SRC) >lint.out

construct_lnode.o: construct_lnode.c list.h $(MKF)

destroy_lnode.o: destroy_lnode.c list.h $(MKF)


fwd_insert_lnode.o: fwd_insert_lnode.c list.h $(MKF)

rev_insert_lnode.o: rev_insert_lnode.c list.h $(MKF)

delete_lnode.o: delete_lnode.c list.h $(MKF)

remove_lnode.o: remove_lnode.c list.h $(MKF)


diff_fwd_lists.o: diff_fwd_lists.c list.h $(MKF)

diff_rev_lists.o: diff_rev_lists.c list.h $(MKF)

dup_list.o: dup_list.c list.h $(MKF)

merge_lists.o: merge_lists.c list.h $(MKF)

free_list.o: free_list.c list.h $(MKF)


find_lnode.o: find_lnode.c list.h $(MKF)

lists_equal.o: lists_equal.c list.h $(MKF)

match_list.o: match_list.c list.h $(MKF)

print_list.o: print_list.c list.h $(MKF)

