From f6b06cd6759674ccc800748976fbb0966cfec7ad Mon Sep 17 00:00:00 2001 From: surtur Date: Fri, 21 Jan 2022 19:14:55 +0100 Subject: [PATCH] makefile: build in tmp when not in CI --- Makefile | 46 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 708b32e..c6f3c4f 100644 --- a/Makefile +++ b/Makefile @@ -8,12 +8,17 @@ cl = -DCMAKE_CXX_COMPILER=clang++ g = -DCMAKE_CXX_COMPILER=g++ n = ninja n_args = -C +t_folder = /tmp/.fortuna_workdir/build d_folder = cmake-build-debug d_folder_cl = $(d_folder)_cl +dt_folder = $(t_folder)/$(d_folder) r_folder = cmake-build-release +rt_folder = $(t_folder)/$(r_folder) s_folder = cmake-build-san s_folder_cl = $(s_folder)_cl +st_folder = $(t_folder)/$(s_folder) tidy_folder = cmake-build-tidy +tidyt_folder = $(t_folder)/$(tidy_folder) s_on = -DSAN=ON s_off = -DSAN=OFF t_on = -DTIDY=ON @@ -27,8 +32,14 @@ v_rl = $(r_folder)_valgr .PHONY: check tidy build debug debug_cl release valgrind san san_cl test clean distclean debug: - if [ ! -d "$(d_folder)" ]; then mkdir -pv $(d_folder); fi - $(c) $(c_args_d) $(g) $(s_off) $(t_off) $(v_off) -B$(d_folder) +ifneq ("${CI}","true") + @if [ ! -L "$(d_folder)" ]; then \ + mkdir -pv $(dt_folder) && ln -sfv $(dt_folder) $(d_folder);\ + fi +else + @if [ ! -d "$(d_folder)" ]; then mkdir -pv $(d_folder); fi +endif + $(c) $(c_args_d) $(g) $(s_off) $(t_off) $(v_off) -B$$(readlink -f $(d_folder)) $(n) $(n_args) $(d_folder) debug_cl: @@ -37,8 +48,14 @@ debug_cl: $(n) $(n_args) $(d_folder_cl) release: - if [ ! -d "$(r_folder)" ]; then mkdir -pv $(r_folder); fi - $(c) $(c_args_r) $(g) $(s_off) $(t_off) $(v_off) -B$(r_folder) +ifneq ("${CI}","true") + @if [ ! -L "$(r_folder)" ]; then \ + mkdir -pv $(rt_folder) && ln -sfv $(rt_folder) $(r_folder);\ + fi +else + @if [ ! -d "$(r_folder)" ]; then mkdir -pv $(r_folder); fi +endif + $(c) $(c_args_r) $(g) $(s_off) $(t_off) $(v_off) -B$$(readlink -f $(r_folder)) $(n) $(n_args) $(r_folder) check: @@ -46,8 +63,14 @@ check: make tidy san: - if [ ! -d "$(s_folder)" ]; then mkdir -pv $(s_folder); fi - $(c) $(c_args_d) $(g) $(s_on) $(t_off) $(v_off) -B$(s_folder) +ifneq ("${CI}","true") + @if [ ! -L "$(s_folder)" ]; then \ + mkdir -pv $(st_folder) && ln -sfv $(st_folder) $(s_folder);\ + fi +else + @if [ ! -d "$(s_folder)" ]; then mkdir -pv $(s_folder); fi +endif + $(c) $(c_args_d) $(g) $(s_on) $(t_off) $(v_off) -B$$(readlink -f $(s_folder)) $(n) $(n_args) $(s_folder) san_cl: @@ -57,8 +80,15 @@ san_cl: tidy: - if [ ! -d "$(tidy_folder)" ]; then mkdir -pv $(tidy_folder); fi - $(c) $(c_args_d) $(g) $(s_off) $(t_on) $(v_off) -B$(tidy_folder) +ifneq ("${CI}","true") + if [ ! -L "$(tidy_folder)" ]; then \ + mkdir -pv $(tidyt_folder) && \ + ln -sfv $(tidyt_folder) $(tidy_folder);\ + fi +else + @if [ ! -d "$(tidy_folder)" ]; then mkdir -pv $(tidy_folder); fi +endif + $(c) $(c_args_d) $(g) $(s_off) $(t_on) $(v_off) -B$$(readlink -f $(tidy_folder)) $(n) $(n_args) $(tidy_folder) valgrind: valgrind-debug