array1: array.c lock.c
	gcc -g array.c lock.c -o array1 -lpthread

array2: array.c lock.s
	gcc -g array.c lock.s -o array2 -lpthread

array3: array.c pmutex.c
	gcc -g array.c pmutex.c -o array3 -lpthread

array4: array.c semlock.c semaphore.c cond.c
	gcc -g array.c semlock.c semaphore.c cond.c -o array4 -lpthread

badlock: lock.c main.c
	gcc -g main.c lock.c -o badlock

goodlock: lock.s main.c
	gcc -g main.c lock.s -o goodlock

clean:
	rm -f *~ badlock goodlock mutex lock

tar:
	tar -czf ../lock.tgz lock

dist:
	rm -rf lock_soln
	mkdir lock_soln
	cp array.c cond.c cond.h lock.c lock.s lock.h Makefile pmutex.c semaphore.c semaphore.h semlock.c lock_soln
