#%DEPENDS = path adjust_sleep string_extension
#%TEST_DEPENDS = unit_test

CXX = ../../bin/g++w
RM = rm
RMDIR = rmdir
CHDIR = cd

INCLUDES      = -I../path/include -I../adjust_sleep/include
TEST_INCLUDES = -I../unit_test/include
TEST_LIBS     = -L../path -lpath \
		-L../string_extension -l string_extension


CXXFLAGS = -g $(CCXXOPTFLAGS) $(CXXOPTFLAGS) \
	      $(INCLUDES) $(TEST_INCLUDES) \
	      $(CCXXADDITIONALFLAGS) $(CXXADDITIONALFLAGS)

LDFLAGS  = $(TEST_LIBS) $(LDADDITIONALFLAGS)


all: check

library:

library-lean:

test-mkdir_mutex: test-mkdir_mutex.o
	$(CXX) $(CXXFLAGS) -o test-mkdir_mutex \
		test-mkdir_mutex.o $(LDFLAGS)

test-file_polling_semaphore: test-file_polling_semaphore.o
	$(CXX) $(CXXFLAGS) -o test-file_polling_semaphore \
		test-file_polling_semaphore.o $(LDFLAGS)

check: test-mkdir_mutex test-file_polling_semaphore
	./test-mkdir_mutex
	./test-file_polling_semaphore

../path/libpath.a:
	($(CHDIR) ../path && $(MAKE) library)

../string_extension/libstring_extension.a:
	($(CHDIR) ../string_extension && $(MAKE) library)

clean:
	$(RM) -f *.o test-mkdir_mutex test-file_polling_semaphore
	$(RM) -rf test-lockdir test-file

.PHONY: all library library-lean check clean


##
test-mkdir_mutex.o: \
	../path/libpath.a \
	../string_extension/libstring_extension.a \
	test-mkdir_mutex.cc mkdir_mutex.h

test-file_polling_semaphore.o: \
	../path/libpath.a \
	../string_extension/libstring_extension.a \
	test-file_polling_semaphore.cc file_polling_semaphore.h
