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