From 6ba9180a628ae045838149c3f88c1ab210801af5 Mon Sep 17 00:00:00 2001 From: Bassem Girgis Date: Wed, 17 Oct 2018 11:57:18 -0500 Subject: [PATCH] reorganize --- Makefile | 87 +++++++++++++------ bin/.gitignore | 1 + alarm.c => src/alarm.c | 0 alarm_cond.c => src/alarm_cond.c | 0 alarm_fork.c => src/alarm_fork.c | 0 alarm_mutex.c => src/alarm_mutex.c | 0 alarm_mutex.cpp => src/alarm_mutex.cpp | 0 alarm_thread.c => src/alarm_thread.c | 0 atfork.c => src/atfork.c | 0 backoff.c => src/backoff.c | 0 barrier.c => src/barrier.c | 0 barrier.h => src/barrier.h | 0 barrier_main.c => src/barrier_main.c | 0 cancel.c => src/cancel.c | 0 cancel_async.c => src/cancel_async.c | 0 cancel_cleanup.c => src/cancel_cleanup.c | 0 cancel_disable.c => src/cancel_disable.c | 0 .../cancel_subcontract.c | 0 cond.c => src/cond.c | 0 cond_attr.c => src/cond_attr.c | 0 cond_dynamic.c => src/cond_dynamic.c | 0 cond_static.c => src/cond_static.c | 0 crew.c => src/crew.c | 0 errors.h => src/errors.h | 0 flock.c => src/flock.c | 0 getlogin.c => src/getlogin.c | 0 hello.c => src/hello.c | 0 inertia.c => src/inertia.c | 0 lifecycle.c => src/lifecycle.c | 0 mutex_attr.c => src/mutex_attr.c | 0 mutex_dynamic.c => src/mutex_dynamic.c | 0 mutex_static.c => src/mutex_static.c | 0 once.c => src/once.c | 0 pipe.c => src/pipe.c | 0 pipe.cpp => src/pipe.cpp | 0 putchar.c => src/putchar.c | 0 rwlock.c => src/rwlock.c | 0 rwlock.h => src/rwlock.h | 0 rwlock_main.c => src/rwlock_main.c | 0 rwlock_try_main.c => src/rwlock_try_main.c | 0 sched_attr.c => src/sched_attr.c | 0 sched_thread.c => src/sched_thread.c | 0 semaphore_signal.c => src/semaphore_signal.c | 0 semaphore_wait.c => src/semaphore_wait.c | 0 server.c => src/server.c | 0 sigev_thread.c => src/sigev_thread.c | 0 sigwait.c => src/sigwait.c | 0 susp.c => src/susp.c | 0 thread.c => src/thread.c | 0 thread_attr.c => src/thread_attr.c | 0 thread_error.c => src/thread_error.c | 0 trylock.c => src/trylock.c | 0 tsd_destructor.c => src/tsd_destructor.c | 0 tsd_once.c => src/tsd_once.c | 0 workq.c => src/workq.c | 0 workq.h => src/workq.h | 0 workq_main.c => src/workq_main.c | 0 57 files changed, 60 insertions(+), 28 deletions(-) create mode 100644 bin/.gitignore rename alarm.c => src/alarm.c (100%) rename alarm_cond.c => src/alarm_cond.c (100%) rename alarm_fork.c => src/alarm_fork.c (100%) rename alarm_mutex.c => src/alarm_mutex.c (100%) rename alarm_mutex.cpp => src/alarm_mutex.cpp (100%) rename alarm_thread.c => src/alarm_thread.c (100%) rename atfork.c => src/atfork.c (100%) rename backoff.c => src/backoff.c (100%) rename barrier.c => src/barrier.c (100%) rename barrier.h => src/barrier.h (100%) rename barrier_main.c => src/barrier_main.c (100%) rename cancel.c => src/cancel.c (100%) rename cancel_async.c => src/cancel_async.c (100%) rename cancel_cleanup.c => src/cancel_cleanup.c (100%) rename cancel_disable.c => src/cancel_disable.c (100%) rename cancel_subcontract.c => src/cancel_subcontract.c (100%) rename cond.c => src/cond.c (100%) rename cond_attr.c => src/cond_attr.c (100%) rename cond_dynamic.c => src/cond_dynamic.c (100%) rename cond_static.c => src/cond_static.c (100%) rename crew.c => src/crew.c (100%) rename errors.h => src/errors.h (100%) rename flock.c => src/flock.c (100%) rename getlogin.c => src/getlogin.c (100%) rename hello.c => src/hello.c (100%) rename inertia.c => src/inertia.c (100%) rename lifecycle.c => src/lifecycle.c (100%) rename mutex_attr.c => src/mutex_attr.c (100%) rename mutex_dynamic.c => src/mutex_dynamic.c (100%) rename mutex_static.c => src/mutex_static.c (100%) rename once.c => src/once.c (100%) rename pipe.c => src/pipe.c (100%) rename pipe.cpp => src/pipe.cpp (100%) rename putchar.c => src/putchar.c (100%) rename rwlock.c => src/rwlock.c (100%) rename rwlock.h => src/rwlock.h (100%) rename rwlock_main.c => src/rwlock_main.c (100%) rename rwlock_try_main.c => src/rwlock_try_main.c (100%) rename sched_attr.c => src/sched_attr.c (100%) rename sched_thread.c => src/sched_thread.c (100%) rename semaphore_signal.c => src/semaphore_signal.c (100%) rename semaphore_wait.c => src/semaphore_wait.c (100%) rename server.c => src/server.c (100%) rename sigev_thread.c => src/sigev_thread.c (100%) rename sigwait.c => src/sigwait.c (100%) rename susp.c => src/susp.c (100%) rename thread.c => src/thread.c (100%) rename thread_attr.c => src/thread_attr.c (100%) rename thread_error.c => src/thread_error.c (100%) rename trylock.c => src/trylock.c (100%) rename tsd_destructor.c => src/tsd_destructor.c (100%) rename tsd_once.c => src/tsd_once.c (100%) rename workq.c => src/workq.c (100%) rename workq.h => src/workq.h (100%) rename workq_main.c => src/workq_main.c (100%) diff --git a/Makefile b/Makefile index b2cc03c..aff5fa1 100644 --- a/Makefile +++ b/Makefile @@ -10,7 +10,10 @@ CFLAGS=-pthread -O3 $(DEBUGFLAGS) RTFLAGS=-lrt -SOURCES=alarm.c alarm_cond.c alarm_fork.c alarm_mutex.c \ +BIN=./bin +SOURCE=./src + +SOURCES_C=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 \ @@ -23,32 +26,60 @@ SOURCES=alarm.c alarm_cond.c alarm_fork.c alarm_mutex.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} -alarm_mutex: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ alarm_mutex.c -backoff: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ backoff.c -sched_attr: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ sched_attr.c -sched_thread: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ sched_thread.c -semaphore_signal: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ semaphore_signal.c -semaphore_wait: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ semaphore_wait.c -sigev_thread: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ sigev_thread.c -susp: - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ susp.c -rwlock_main: rwlock.c rwlock.h rwlock_main.c - ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rwlock_main.c rwlock.c -rwlock_try_main: rwlock.h rwlock.c rwlock_try_main.c - ${CC} ${CFLAGS} ${LDFLAGS} -o $@ rwlock_try_main.c rwlock.c -barrier_main: barrier.h barrier.c barrier_main.c - ${CC} ${CFLAGS} ${LDFLAGS} -o $@ barrier_main.c barrier.c -workq_main: workq.h workq.c workq_main.c - ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ workq_main.c workq.c + +NAMES_C=$(SOURCES_C:.c=) +PROGRAMS_C=$(addprefix $(BIN)/c_, $(NAMES_C)) + +SOURCES_CXX=alarm_mutex.cpp pipe.cpp + +NAMES_CXX=$(SOURCES_CXX:.cpp=) +PROGRAMS_CXX=$(addprefix $(BIN)/cpp_, $(NAMES_CXX)) + +all: ${PROGRAMS_C} ${PROGRAMS_CXX} + +$(BIN)/c_%: $(SOURCE)/%.c + $(CC) $(INC) $< $(CFLAGS) -o $@ $(LIBS) + +$(BIN)/c_alarm_mutex: $(SOURCE)/alarm_mutex.c + $(CC) $(INC) $< $(CFLAGS) ${RTFLAGS} -o $@ $(LIBS) + +$(BIN)/c_backoff: $(SOURCE)/backoff.c + $(CC) $(INC) $< $(CFLAGS) ${RTFLAGS} -o $@ $(LIBS) + +$(BIN)/c_sched_attr: $(SOURCE)/sched_attr.c + $(CC) $(INC) $< $(CFLAGS) ${RTFLAGS} -o $@ $(LIBS) + +$(BIN)/c_sched_thread: $(SOURCE)/sched_thread.c + $(CC) $(INC) $< $(CFLAGS) ${RTFLAGS} -o $@ $(LIBS) + +$(BIN)/c_semaphore_signal: $(SOURCE)/semaphore_signal.c + $(CC) $(INC) $< $(CFLAGS) ${RTFLAGS} -o $@ $(LIBS) + +$(BIN)/c_semaphore_wait: $(SOURCE)/semaphore_wait.c + $(CC) $(INC) $< $(CFLAGS) ${RTFLAGS} -o $@ $(LIBS) + +$(BIN)/c_sigev_thread: $(SOURCE)/sigev_thread.c + $(CC) $(INC) $< $(CFLAGS) ${RTFLAGS} -o $@ $(LIBS) + +$(BIN)/c_susp: + ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ $(SOURCE)/susp.c + +$(BIN)/c_rwlock_main: $(SOURCE)/rwlock.c $(SOURCE)/rwlock.h $(SOURCE)/rwlock_main.c + ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $(SOURCE)/rwlock_main.c $(SOURCE)/rwlock.c + +$(BIN)/c_rwlock_try_main: $(SOURCE)/rwlock.h $(SOURCE)/rwlock.c $(SOURCE)/rwlock_try_main.c + ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $(SOURCE)/rwlock_try_main.c $(SOURCE)/rwlock.c + +$(BIN)/c_barrier_main: $(SOURCE)/barrier.h $(SOURCE)/barrier.c $(SOURCE)/barrier_main.c + ${CC} ${CFLAGS} ${LDFLAGS} -o $@ $(SOURCE)/barrier_main.c $(SOURCE)/barrier.c + +$(BIN)/c_workq_main: $(SOURCE)/workq.h $(SOURCE)/workq.c $(SOURCE)/workq_main.c + ${CC} ${CFLAGS} ${RTFLAGS} ${LDFLAGS} -o $@ $(SOURCE)/workq_main.c $(SOURCE)/workq.c + +$(BIN)/cpp_%: $(SOURCE)/%.cpp + $(CXX) $(INC) $< $(CFLAGS) -o $@ $(LIBS) + clean: - @rm -rf $(PROGRAMS) *.o + @rm -rf $(PROGRAMS_C) ${PROGRAMS_CXX} *.o + recompile: clean all diff --git a/bin/.gitignore b/bin/.gitignore new file mode 100644 index 0000000..f59ec20 --- /dev/null +++ b/bin/.gitignore @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/alarm.c b/src/alarm.c similarity index 100% rename from alarm.c rename to src/alarm.c diff --git a/alarm_cond.c b/src/alarm_cond.c similarity index 100% rename from alarm_cond.c rename to src/alarm_cond.c diff --git a/alarm_fork.c b/src/alarm_fork.c similarity index 100% rename from alarm_fork.c rename to src/alarm_fork.c diff --git a/alarm_mutex.c b/src/alarm_mutex.c similarity index 100% rename from alarm_mutex.c rename to src/alarm_mutex.c diff --git a/alarm_mutex.cpp b/src/alarm_mutex.cpp similarity index 100% rename from alarm_mutex.cpp rename to src/alarm_mutex.cpp diff --git a/alarm_thread.c b/src/alarm_thread.c similarity index 100% rename from alarm_thread.c rename to src/alarm_thread.c diff --git a/atfork.c b/src/atfork.c similarity index 100% rename from atfork.c rename to src/atfork.c diff --git a/backoff.c b/src/backoff.c similarity index 100% rename from backoff.c rename to src/backoff.c diff --git a/barrier.c b/src/barrier.c similarity index 100% rename from barrier.c rename to src/barrier.c diff --git a/barrier.h b/src/barrier.h similarity index 100% rename from barrier.h rename to src/barrier.h diff --git a/barrier_main.c b/src/barrier_main.c similarity index 100% rename from barrier_main.c rename to src/barrier_main.c diff --git a/cancel.c b/src/cancel.c similarity index 100% rename from cancel.c rename to src/cancel.c diff --git a/cancel_async.c b/src/cancel_async.c similarity index 100% rename from cancel_async.c rename to src/cancel_async.c diff --git a/cancel_cleanup.c b/src/cancel_cleanup.c similarity index 100% rename from cancel_cleanup.c rename to src/cancel_cleanup.c diff --git a/cancel_disable.c b/src/cancel_disable.c similarity index 100% rename from cancel_disable.c rename to src/cancel_disable.c diff --git a/cancel_subcontract.c b/src/cancel_subcontract.c similarity index 100% rename from cancel_subcontract.c rename to src/cancel_subcontract.c diff --git a/cond.c b/src/cond.c similarity index 100% rename from cond.c rename to src/cond.c diff --git a/cond_attr.c b/src/cond_attr.c similarity index 100% rename from cond_attr.c rename to src/cond_attr.c diff --git a/cond_dynamic.c b/src/cond_dynamic.c similarity index 100% rename from cond_dynamic.c rename to src/cond_dynamic.c diff --git a/cond_static.c b/src/cond_static.c similarity index 100% rename from cond_static.c rename to src/cond_static.c diff --git a/crew.c b/src/crew.c similarity index 100% rename from crew.c rename to src/crew.c diff --git a/errors.h b/src/errors.h similarity index 100% rename from errors.h rename to src/errors.h diff --git a/flock.c b/src/flock.c similarity index 100% rename from flock.c rename to src/flock.c diff --git a/getlogin.c b/src/getlogin.c similarity index 100% rename from getlogin.c rename to src/getlogin.c diff --git a/hello.c b/src/hello.c similarity index 100% rename from hello.c rename to src/hello.c diff --git a/inertia.c b/src/inertia.c similarity index 100% rename from inertia.c rename to src/inertia.c diff --git a/lifecycle.c b/src/lifecycle.c similarity index 100% rename from lifecycle.c rename to src/lifecycle.c diff --git a/mutex_attr.c b/src/mutex_attr.c similarity index 100% rename from mutex_attr.c rename to src/mutex_attr.c diff --git a/mutex_dynamic.c b/src/mutex_dynamic.c similarity index 100% rename from mutex_dynamic.c rename to src/mutex_dynamic.c diff --git a/mutex_static.c b/src/mutex_static.c similarity index 100% rename from mutex_static.c rename to src/mutex_static.c diff --git a/once.c b/src/once.c similarity index 100% rename from once.c rename to src/once.c diff --git a/pipe.c b/src/pipe.c similarity index 100% rename from pipe.c rename to src/pipe.c diff --git a/pipe.cpp b/src/pipe.cpp similarity index 100% rename from pipe.cpp rename to src/pipe.cpp diff --git a/putchar.c b/src/putchar.c similarity index 100% rename from putchar.c rename to src/putchar.c diff --git a/rwlock.c b/src/rwlock.c similarity index 100% rename from rwlock.c rename to src/rwlock.c diff --git a/rwlock.h b/src/rwlock.h similarity index 100% rename from rwlock.h rename to src/rwlock.h diff --git a/rwlock_main.c b/src/rwlock_main.c similarity index 100% rename from rwlock_main.c rename to src/rwlock_main.c diff --git a/rwlock_try_main.c b/src/rwlock_try_main.c similarity index 100% rename from rwlock_try_main.c rename to src/rwlock_try_main.c diff --git a/sched_attr.c b/src/sched_attr.c similarity index 100% rename from sched_attr.c rename to src/sched_attr.c diff --git a/sched_thread.c b/src/sched_thread.c similarity index 100% rename from sched_thread.c rename to src/sched_thread.c diff --git a/semaphore_signal.c b/src/semaphore_signal.c similarity index 100% rename from semaphore_signal.c rename to src/semaphore_signal.c diff --git a/semaphore_wait.c b/src/semaphore_wait.c similarity index 100% rename from semaphore_wait.c rename to src/semaphore_wait.c diff --git a/server.c b/src/server.c similarity index 100% rename from server.c rename to src/server.c diff --git a/sigev_thread.c b/src/sigev_thread.c similarity index 100% rename from sigev_thread.c rename to src/sigev_thread.c diff --git a/sigwait.c b/src/sigwait.c similarity index 100% rename from sigwait.c rename to src/sigwait.c diff --git a/susp.c b/src/susp.c similarity index 100% rename from susp.c rename to src/susp.c diff --git a/thread.c b/src/thread.c similarity index 100% rename from thread.c rename to src/thread.c diff --git a/thread_attr.c b/src/thread_attr.c similarity index 100% rename from thread_attr.c rename to src/thread_attr.c diff --git a/thread_error.c b/src/thread_error.c similarity index 100% rename from thread_error.c rename to src/thread_error.c diff --git a/trylock.c b/src/trylock.c similarity index 100% rename from trylock.c rename to src/trylock.c diff --git a/tsd_destructor.c b/src/tsd_destructor.c similarity index 100% rename from tsd_destructor.c rename to src/tsd_destructor.c diff --git a/tsd_once.c b/src/tsd_once.c similarity index 100% rename from tsd_once.c rename to src/tsd_once.c diff --git a/workq.c b/src/workq.c similarity index 100% rename from workq.c rename to src/workq.c diff --git a/workq.h b/src/workq.h similarity index 100% rename from workq.h rename to src/workq.h diff --git a/workq_main.c b/src/workq_main.c similarity index 100% rename from workq_main.c rename to src/workq_main.c