Hash :
752330a5
Author :
Thomas de Grivel
Date :
2024-08-08T17:20:11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
## kc3
## Copyright 2022-2024 kmx.io <contact@kmx.io>
##
## Permission is hereby granted to use this software granted the above
## copyright notice and this permission paragraph are included in all
## copies and substantial portions of this software.
##
## THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
## PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
## AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
## THIS SOFTWARE.
CLEANFILES = *.a ${PROG} ${PROG_ASAN} ${PROG_COV} ${PROG_DEBUG} *.css \
*.gcno *.html *.o .libs *.lo
CLEANFILES_COV = *.css *.gcda *.html .libs/*.gcda
CLEANFILES += ${CLEANFILES_COV}
DISTCLEANFILES = ${CLEANFILES} config.mk
build:
${MAKE} ${PROG}
all:
${MAKE} build
if ${HAVE_GCOV}; then ${MAKE} cov; fi
${MAKE} debug
if ${HAVE_ASAN}; then ${MAKE} asan; fi
asan:
${MAKE} ${PROG_ASAN}
clean:
rm -rf ${CLEANFILES}
clean_cov:
rm -rf ${CLEANFILES_COV}
cov:
${MAKE} ${PROG_COV}
debug:
${MAKE} ${PROG_DEBUG}
demo:
${MAKE} ${PROG}
time ./${PROG}
demo_asan:
${MAKE} ${PROG_ASAN}
time ./${PROG_ASAN}
demo_cov:
${MAKE} ${PROG_COV}
time ./${PROG_COV}
demo_debug:
${MAKE} ${PROG_DEBUG}
time ./${PROG_DEBUG}
distclean:
rm -rf ${DISTCLEANFILES}
gcovr:
gcovr --gcov-executable ${GCOV} --html-details ${PROG}.html
gdb_demo: debug
if [ -f ${PROG_DEBUG}.core ]; then gdb .libs/${PROG_DEBUG} ${PROG_DEBUG}.core; else gdb .libs/${PROG_DEBUG}; fi
install:
install -m 755 -d ${prefix}/bin
install -m 755 ${PROG} ${prefix}/bin/${PROG}
lldb_demo: debug
if [ -f ${PROG_DEBUG}.core ]; then lldb .libs/${PROG_DEBUG} ${PROG_DEBUG}.core; else lldb .libs/${PROG_DEBUG}; fi
update_sources:
./update_sources
.PHONY: \
all \
asan \
build \
clean \
clean_cov \
cov \
debug \
demo \
demo_asan \
demo_cov \
demo_debug \
distclean \
gdb_demo \
install \
lldb_demo \
update_sources \
include config.mk
include sources.mk