Establish the repository layout per Vox guidelines (layouts/C.md, building/C.md): Autotools build (GCC-only, C23), five compatibility profiles (--enable-onlyposix/--enable-muslmimic/--enable-muslext/ --enable-spoof, default vlibc), alongside/overwrite install methods, vlibc-gcc/vlibc-clang drivers, static-linking requirement (except spoof), benchmark harness, and tooling (.clang-format/.clang-tidy/ .clangd + compile_commands.json).
28 lines
659 B
Makefile
28 lines
659 B
Makefile
# vlibc — benchmark harnesses (musts/BENCHMARKING.md).
|
|
|
|
AM_CPPFLAGS = -I$(top_srcdir)/include
|
|
AM_CFLAGS = @VLIBC_CFLAGS@
|
|
|
|
# Built only on demand (via `make bench`), so `make all` does not need the
|
|
# library to be built first.
|
|
EXTRA_PROGRAMS = bench_vlibc
|
|
bench_vlibc_SOURCES = bench_vlibc.c
|
|
|
|
# By default benchmarks link against vlibc itself. --with-libc=glibc links the
|
|
# same harness against the system glibc; --with-libc=musl builds it with
|
|
# musl-gcc for the musl reference.
|
|
if BENCH_LINK_VLIBC
|
|
bench_vlibc_LDADD = ../libvlibc.la
|
|
else
|
|
bench_vlibc_LDADD =
|
|
endif
|
|
|
|
if BENCH_LINK_MUSL
|
|
CC = $(MUSL_CC)
|
|
endif
|
|
|
|
bench: bench_vlibc
|
|
./bench_vlibc
|
|
|
|
.PHONY: bench
|