make, scripts: Re-add files necessary for building ytools

Re-add everthing needed for building and packaging ytools. This is a
big commit, 2002 lines of code. It mostly consists of C/C++ machinery,
plus some documentation-related stuff.

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2025-11-14 15:59:49 +01:00
commit bf16c6714b
27 changed files with 1975 additions and 0 deletions

30
make/profiler-defs.mk Normal file
View file

@ -0,0 +1,30 @@
all:
clean:
PROF_EXE_PATH ?= $(EXE_PATH)
CALLGRIND_OUT ?= callgrind.out
OPROF_OUT_DIR ?= oprofile-data
ifeq ($(USE_GPROF),true)
FINAL_CXXFLAGS += -pg
FINAL_CFLAGS += -pg
FINAL_LDFLAGS += -pg
clean: clean.gprof
endif
ifeq ($(COMPILER_SUITE),gcc)
ifeq ($(USE_GCOV),true)
FINAL_CXXFLAGS += -fprofile-arcs -ftest-coverage
FINAL_CFLAGS += -fprofile-arcs -ftest-coverage
FINAL_LDFLAGS += -fprofile-arcs -ftest-coverage
clean: clean.gcov
endif
endif
ifeq ($(COMPILER_SUITE),clang)
ifeq ($(USE_XRAY),true)
FINAL_CXXFLAGS += -fxray-instrument -fxray-instruction-threshold=1
FINAL_CFLAGS += -fxray-instrument -fxray-instruction-threshold=1
#FINAL_LDFLAGS += -fxray-instrument
endif
endif