fixes to dependency resolution
This commit is contained in:
186
default.Makefile
186
default.Makefile
@@ -1,91 +1,95 @@
|
||||
######################################
|
||||
###### Build tasks #######
|
||||
######################################
|
||||
|
||||
all: build_exec_dbg
|
||||
|
||||
# creates executable using profiling info generated by profile
|
||||
build_exec: profile
|
||||
@cbuild/call_task.sh build_exec 2>&1 | tee -a make_raw.log
|
||||
|
||||
# creates executable with debug info and no optimizations
|
||||
build_exec_dbg:
|
||||
@cbuild/call_task.sh build_exec_dbg 2>&1 | tee make_raw.log
|
||||
|
||||
# creates shared library
|
||||
build_shared_lib:
|
||||
@cbuild/call_task.sh build_shared_lib 2>&1 | tee make_raw.log
|
||||
|
||||
# creates shared library with debug symbols and no optimizations
|
||||
build_shared_lib_dbg:
|
||||
@cbuild/call_task.sh build_shared_lib_dbg 2>&1 | tee make_raw.log
|
||||
|
||||
# creates static library
|
||||
build_static_lib:
|
||||
@cbuild/call_task.sh build_static_lib 2>&1 | tee make_raw.log
|
||||
|
||||
# creates static library with debug symbols and no optimizations
|
||||
build_static_lib_dbg:
|
||||
@cbuild/call_task.sh build_static_lib_dbg 2>&1 | tee make_raw.log
|
||||
|
||||
# recompile libsome_dep.a in the next build task
|
||||
#rebuild_some_dep:
|
||||
# @cbuild/rebuild_dep.sh libsome_dep.a 2>&1 | tee make_raw.log
|
||||
|
||||
#rebuild_all: rebuild_some_dep
|
||||
|
||||
######################################
|
||||
###### Launch tasks #######
|
||||
######################################
|
||||
|
||||
# executes $EXEC_FILE
|
||||
exec: build_exec
|
||||
@cbuild/call_task.sh exec 2>&1 | tee -a make_raw.log
|
||||
|
||||
# executes $EXEC_FILE
|
||||
exec_dbg: build_exec_dbg
|
||||
@cbuild/call_task.sh exec 2>&1 | tee -a make_raw.log
|
||||
|
||||
# executes $EXEC_FILE with valgrind memory checker
|
||||
valgrind: build_exec_dbg
|
||||
@cbuild/call_task.sh valgrind 2>&1 | tee -a make_raw.log
|
||||
|
||||
# generates profiling info
|
||||
profile:
|
||||
@cbuild/call_task.sh profile 2>&1 | tee make_raw.log
|
||||
|
||||
# compiles program with -pg and runs it with gprof
|
||||
# uses gprof2dot python script to generate function call tree (pip install gprof2dot)
|
||||
# requires graphviz (https://www.graphviz.org/download/source/)
|
||||
gprof:
|
||||
@cbuild/call_task.sh gprof 2>&1 | tee make_raw.log
|
||||
|
||||
# compiles program and runs it with callgrind (part of valgrind)
|
||||
# uses gprof2dot python script to generate function call tree (pip install gprof2dot)
|
||||
# requires graphviz (https://www.graphviz.org/download/source/)
|
||||
# P.S. detailed results can be viewed in KCacheGrind
|
||||
callgrind:
|
||||
@cbuild/call_task.sh callgrind 2>&1 | tee make_raw.log
|
||||
|
||||
# compiles executable with sanitizers and executes it to find errors and warnings
|
||||
sanitize:
|
||||
@cbuild/call_task.sh sanitize 2>&1 | tee make_raw.log
|
||||
|
||||
######################################
|
||||
###### Other tasks #######
|
||||
######################################
|
||||
|
||||
# deletes generated files
|
||||
clean:
|
||||
@cbuild/call_task.sh clean 2>&1 | tee make_raw.log
|
||||
|
||||
# removes all unreadable characters copied from stdio
|
||||
fix_log:
|
||||
sed 's/[^[:blank:][:print:]]//g' make_raw.log \
|
||||
| sed 's/\[0;[0-9][0-9]m//g' \
|
||||
| sed 's/\[0;[0-9]m//g' \
|
||||
| sed 's/\[[0-9][0-9]m//g' \
|
||||
| sed 's/\[[0-9]m//g' \
|
||||
| sed 's/ H //g' \
|
||||
| sed 's/\[3gH //g' \
|
||||
> make_fixed.log
|
||||
######################################
|
||||
###### Build tasks #######
|
||||
######################################
|
||||
|
||||
all: build_exec_dbg
|
||||
|
||||
# creates executable using profiling info generated by profile
|
||||
build_exec: profile
|
||||
@cbuild/call_task.sh build_exec 2>&1 | tee -a make_raw.log
|
||||
|
||||
# creates executable with debug info and no optimizations
|
||||
build_exec_dbg:
|
||||
@cbuild/call_task.sh build_exec_dbg 2>&1 | tee make_raw.log
|
||||
|
||||
# creates shared library
|
||||
build_shared_lib:
|
||||
@cbuild/call_task.sh build_shared_lib 2>&1 | tee make_raw.log
|
||||
|
||||
# creates shared library with debug symbols and no optimizations
|
||||
build_shared_lib_dbg:
|
||||
@cbuild/call_task.sh build_shared_lib_dbg 2>&1 | tee make_raw.log
|
||||
|
||||
# creates static library
|
||||
build_static_lib:
|
||||
@cbuild/call_task.sh build_static_lib 2>&1 | tee make_raw.log
|
||||
|
||||
# creates static library with debug symbols and no optimizations
|
||||
build_static_lib_dbg:
|
||||
@cbuild/call_task.sh build_static_lib_dbg 2>&1 | tee make_raw.log
|
||||
|
||||
######################################
|
||||
###### Rebuild dependencies #######
|
||||
######################################
|
||||
|
||||
# recompile libsome.a in the next build task
|
||||
#rebuild_some_dep:
|
||||
# @cbuild/rebuild_dep.sh libsome.a 2>&1 | tee make_raw.log
|
||||
|
||||
#rebuild_all: rebuild_some_dep
|
||||
|
||||
######################################
|
||||
###### Launch tasks #######
|
||||
######################################
|
||||
|
||||
# executes $EXEC_FILE
|
||||
exec: build_exec
|
||||
@cbuild/call_task.sh exec 2>&1 | tee -a make_raw.log
|
||||
|
||||
# executes $EXEC_FILE
|
||||
exec_dbg: build_exec_dbg
|
||||
@cbuild/call_task.sh exec 2>&1 | tee -a make_raw.log
|
||||
|
||||
# executes $EXEC_FILE with valgrind memory checker
|
||||
valgrind: build_exec_dbg
|
||||
@cbuild/call_task.sh valgrind 2>&1 | tee -a make_raw.log
|
||||
|
||||
# generates profiling info
|
||||
profile:
|
||||
@cbuild/call_task.sh profile 2>&1 | tee make_raw.log
|
||||
|
||||
# compiles program with -pg and runs it with gprof
|
||||
# uses gprof2dot python script to generate function call tree (pip install gprof2dot)
|
||||
# requires graphviz (https://www.graphviz.org/download/source/)
|
||||
gprof:
|
||||
@cbuild/call_task.sh gprof 2>&1 | tee make_raw.log
|
||||
|
||||
# compiles program and runs it with callgrind (part of valgrind)
|
||||
# uses gprof2dot python script to generate function call tree (pip install gprof2dot)
|
||||
# requires graphviz (https://www.graphviz.org/download/source/)
|
||||
# P.S. detailed results can be viewed in KCacheGrind
|
||||
callgrind:
|
||||
@cbuild/call_task.sh callgrind 2>&1 | tee make_raw.log
|
||||
|
||||
# compiles executable with sanitizers and executes it to find errors and warnings
|
||||
sanitize:
|
||||
@cbuild/call_task.sh sanitize 2>&1 | tee make_raw.log
|
||||
|
||||
######################################
|
||||
###### Other tasks #######
|
||||
######################################
|
||||
|
||||
# deletes generated files
|
||||
clean:
|
||||
@cbuild/call_task.sh clean 2>&1 | tee make_raw.log
|
||||
|
||||
# removes all unreadable characters copied from stdio
|
||||
fix_log:
|
||||
sed 's/[^[:blank:][:print:]]//g' make_raw.log \
|
||||
| sed 's/\[0;[0-9][0-9]m//g' \
|
||||
| sed 's/\[0;[0-9]m//g' \
|
||||
| sed 's/\[[0-9][0-9]m//g' \
|
||||
| sed 's/\[[0-9]m//g' \
|
||||
| sed 's/ H //g' \
|
||||
| sed 's/\[3gH //g' \
|
||||
> make_fixed.log
|
||||
|
||||
Reference in New Issue
Block a user