makefile: build in tmp when not in CI

This commit is contained in:
surtur 2022-01-21 19:14:55 +01:00
parent 54f52b8a21
commit f6b06cd675
Signed by: wanderer
GPG Key ID: 19CE1EC1D9E0486D

View File

@ -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