# Linux flags:
CFLAGS=-D_REENTRANT -I/opt/glibc/glibc-2.2.2/include -g $(DEBUGFLAGS)
LDFLAGS=-static -lpthread -L/opt/glibc/glibc-2.2.2/lib
-Wl,-rpath=/opt/glibc/glibc-2.2.2/lib
RTFLAGS=-lrt

SOURCES=alarm.c alarm_cond.c alarm_fork.c alarm_mutex.c \
	alarm_thread.c atfork.c backoff.c \
	barrier_main.c cancel.c cancel_async.c cancel_cleanup\
	cancel_disable.c cancel_subcontract.c cond.c cond_attr.c \
	crew.c cond_dynamic.c cond_static.c flock.c getlogin.c hello.c \
	inertia.c lifecycle.c mutex_attr.c \
	mutex_dynamic.c mutex_static.c once.c pipe.c putchar.c \
	rwlock_main.c rwlock_try_main.c \
	sched_attr.c sched_thread.c semaphore_signal.c \
	semaphore_wait.c server.c sigev_thread.c \
	sigwait.c susp.c thread.c \
	thread_attr.c thread_error.c trylock.c tsd_destructor.c \
	tsd_once.c workq_main.c
PROGRAMS=$(SOURCES:.c=)
all:    ${PROGRAMS}
.c:
	${CC} ${CFLAGS} -o $@ $@.c ${RTFLAGS} ${LDFLAGS}
rwlock_main: rwlock.c rwlock.h rwlock_main.c
	${CC} ${CFLAGS} -o $@ rwlock_main.c rwlock.c ${LDFLAGS}
rwlock_try_main: rwlock.h rwlock.c rwlock_try_main.c
	${CC} ${CFLAGS} -o $@ rwlock_try_main.c rwlock.c ${LDFLAGS}
barrier_main: barrier.h barrier.c barrier_main.c
	${CC} ${CFLAGS} -o $@ barrier_main.c barrier.c ${LDFLAGS}
workq_main: workq.h workq.c workq_main.c
	${CC} ${CFLAGS} -o $@ workq_main.c workq.c ${RTFLAGS} ${LDFLAGS}
clean:  
	@rm -rf $(PROGRAMS) *.o
recompile:      clean all

