all: main_thread_exit thread_normal_exit sem_wait_cancel \
cond_wait_cancel cond_wait_cancel2 catch_pthread_exit
.cpp:
c++ -o $@ $< -lpthread
main_thread_exit: main_thread_exit.cpp
thread_normal_exit: thread_normal_exit.cpp
sem_wait_cancel: sem_wait_cancel.cpp
cond_wait_cancel: cond_wait_cancel.cpp
cond_wait_cancel2: cond_wait_cancel2.cpp
catch_pthread_exit: catch_pthread_exit.cpp
clean: .PHONY
rm -rf main_thread_exit thread_normal_exit sem_wait_cancel \
cond_wait_cancel cond_wait_cancel2 catch_pthread_exit