feat: add support for preemption
This commit is contained in:
parent
964a810fad
commit
50438b2c01
13
Makefile
13
Makefile
@ -5,12 +5,12 @@ install_dir?=install
|
||||
|
||||
# Comment out the bins that doesn't need to be compiled
|
||||
bbins+=$(wildcard ${tst_dir}/*.c)
|
||||
bins=$(filter-out ${tst_dir}/51-fibonacci.c, ${bbins})
|
||||
bins=$(filter-out ${tst_dir}/51-fibonacci.c ${tst_dir}/71-preemption.c, ${bbins})
|
||||
all_bins=01-main 02-switch 03-equity 11-join 12-join-main 21-create-many 22-create-many-recursive 23-create-many-once 31-switch-many 32-switch-many-join 33-switch-many-cascade 51-fibonacci 61-mutex 62-mutex 63-mutex-equity 64-mutex-join 71-preemption 81-deadlock
|
||||
|
||||
bins_target=$(patsubst %.c,${build_dir}/%,${bins})
|
||||
install_bins_targets=$(patsubst ${tst_dir}/%.c,${install_dir}/bin/%,${bins})
|
||||
install_bins_targets+=${install_dir}/bin/51-fibonacci
|
||||
install_bins_targets+=${install_dir}/bin/51-fibonacci ${install_dir}/bin/71-preemption
|
||||
|
||||
valgrind_targets=$(addprefix valgrind_,${all_bins})
|
||||
|
||||
@ -76,7 +76,7 @@ ${valgrind_targets}: valgrind_%: ${build_dir}/${tst_dir}/%
|
||||
valgrind $^ ${check_argv} --leak-check=full --show-reachable=yes --track-origins=yes
|
||||
|
||||
.PHONY: build
|
||||
build: ${bins_target} ${build_dir}/libthread.so ${build_dir}/libthread.a
|
||||
build: ${bins_target} ${build_dir}/libthread.so ${build_dir}/libthread.a ${build_dir}/${tst_dir}/51-fibonacci ${build_dir}/${tst_dir}/71-preemption
|
||||
|
||||
.PHONY: debug
|
||||
debug:
|
||||
@ -100,6 +100,9 @@ ${bins_target}: ${build_dir}/%: ${objs} ${build_dir}/%.o
|
||||
${build_dir}/${tst_dir}/51-fibonacci: ${build_dir}/src/thread/thread_fibo.o ${build_dir}/${tst_dir}/51-fibonacci.o
|
||||
${CC} -o $@ $^ ${CFLAGS} ./lib/libmimalloc ${LDFLAGS}
|
||||
|
||||
${build_dir}/${tst_dir}/71-preemption: ${build_dir}/src/thread/thread_preempt.o ${build_dir}/${tst_dir}/71-preemption.o
|
||||
${CC} -o $@ $^ ${CFLAGS} ./lib/libmimalloc ${LDFLAGS}
|
||||
|
||||
${build_dir}/libthread.so: ${objs}
|
||||
${CC} -o $@ -shared $^ ${CFLAGS} ${LDFLAGS}
|
||||
|
||||
@ -110,6 +113,10 @@ ${build_dir}/%_fibo.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
${CC} -o $@ -c $^ -DFIBO_STRAT ${CFLAGS}
|
||||
|
||||
${build_dir}/%_preempt.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
${CC} -o $@ -c $^ -DPREEMPTION ${CFLAGS}
|
||||
|
||||
${build_dir}/%.o: %.c
|
||||
@mkdir -p $(dir $@)
|
||||
${CC} -o $@ -c $^ ${CFLAGS}
|
||||
|
Loading…
x
Reference in New Issue
Block a user