feat: use wildcard to make makefile hacking easier
This commit is contained in:
parent
f2a00ae698
commit
5352d16c8f
37
Makefile
37
Makefile
@ -4,33 +4,16 @@ tst_dir?=tst
|
|||||||
install_dir?=install
|
install_dir?=install
|
||||||
|
|
||||||
# Comment out the bins that doesn't need to be compiled
|
# Comment out the bins that doesn't need to be compiled
|
||||||
bins+=01-main
|
bins+=$(wildcard ${tst_dir}/*.c)
|
||||||
bins+=02-switch
|
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+=03-equity
|
|
||||||
bins+=11-join
|
|
||||||
bins+=12-join-main
|
|
||||||
bins+=21-create-many
|
|
||||||
bins+=22-create-many-recursive
|
|
||||||
bins+=23-create-many-once
|
|
||||||
bins+=31-switch-many
|
|
||||||
bins+=32-switch-many-join
|
|
||||||
bins+=33-switch-many-cascade
|
|
||||||
#bins+=51-fibonacci
|
|
||||||
bins+=61-mutex
|
|
||||||
bins+=62-mutex
|
|
||||||
bins+=63-mutex-equity
|
|
||||||
bins+=64-mutex-join
|
|
||||||
bins+=71-preemption
|
|
||||||
bins+=81-deadlock
|
|
||||||
|
|
||||||
bins_target=$(addprefix ${build_dir}/,${bins})
|
bins_target=$(patsubst %.c,${build_dir}/%,${bins})
|
||||||
install_bins_targets=$(addprefix ${install_dir}/bin/,${bins})
|
install_bins_targets=$(patsubst %.c,${install_dir}/bin/%,${bins})
|
||||||
install_bins_targets+=${install_dir}/bin/51-fibonacci
|
|
||||||
|
|
||||||
valgrind_targets=$(addprefix valgrind_,${bins})
|
valgrind_targets=$(addprefix valgrind_,${all_bins})
|
||||||
|
|
||||||
check_argv?=20 255
|
check_argv?=20 255
|
||||||
check_targets=$(addprefix check_,${bins})
|
check_targets=$(addprefix check_,${all_bins})
|
||||||
|
|
||||||
src_dirs=$(sort $(dir $(wildcard ${src_dir}/**/)))
|
src_dirs=$(sort $(dir $(wildcard ${src_dir}/**/)))
|
||||||
includes=$(patsubst %,-I%,${src_dirs})
|
includes=$(patsubst %,-I%,${src_dirs})
|
||||||
@ -87,7 +70,7 @@ graphs:
|
|||||||
valgrind: ${valgrind_targets}
|
valgrind: ${valgrind_targets}
|
||||||
|
|
||||||
.PHONY: ${valgrind_targets}
|
.PHONY: ${valgrind_targets}
|
||||||
${valgrind_targets}: valgrind_%: ${build_dir}/%
|
${valgrind_targets}: valgrind_%: ${build_dir}/${tst_dir}/%
|
||||||
valgrind $^ ${check_argv} --leak-check=full --show-reachable=yes --track-origins=yes
|
valgrind $^ ${check_argv} --leak-check=full --show-reachable=yes --track-origins=yes
|
||||||
|
|
||||||
.PHONY: build
|
.PHONY: build
|
||||||
@ -106,13 +89,13 @@ pthreads:
|
|||||||
check: ${check_targets}
|
check: ${check_targets}
|
||||||
|
|
||||||
.PHONY: ${check_targets}
|
.PHONY: ${check_targets}
|
||||||
${check_targets}: check_%: ${build_dir}/%
|
${check_targets}: check_%: ${build_dir}/${tst_dir}/%
|
||||||
$^ ${check_argv}
|
$^ ${check_argv}
|
||||||
|
|
||||||
${build_dir}/51-fibonacci: ${build_dir}/src/thread/thread_fibo.o ${build_dir}/${tst_dir}/51-fibonacci.o
|
${bins_target}: ${build_dir}/%: ${objs} ${build_dir}/%.o
|
||||||
${CC} -o $@ $^ ${CFLAGS} ./lib/libmimalloc ${LDFLAGS}
|
${CC} -o $@ $^ ${CFLAGS} ./lib/libmimalloc ${LDFLAGS}
|
||||||
|
|
||||||
${bins_target}: ${build_dir}/%: ${objs} ${build_dir}/${tst_dir}/%.o
|
${build_dir}/51-fibonacci: ${build_dir}/src/thread/thread_fibo.o ${build_dir}/${tst_dir}/51-fibonacci.o
|
||||||
${CC} -o $@ $^ ${CFLAGS} ./lib/libmimalloc ${LDFLAGS}
|
${CC} -o $@ $^ ${CFLAGS} ./lib/libmimalloc ${LDFLAGS}
|
||||||
|
|
||||||
${build_dir}/libthread.so: ${objs}
|
${build_dir}/libthread.so: ${objs}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user