Files
hakmem/build_phase6_integrated.sh

50 lines
1.7 KiB
Bash
Raw Permalink Normal View History

#!/bin/bash
# Build Phase 6-1.5 Integrated Test
# Ultra-Simple Fast Path + Existing HAKMEM Backend
set -e
PHASE6_FLAG="-DHAKMEM_TINY_PHASE6_ULTRA_SIMPLE=1"
RELEASE_FLAG="-DHAKMEM_BUILD_RELEASE=1"
CFLAGS="-O2 -march=native -std=c11 -D_GNU_SOURCE -I core $PHASE6_FLAG $RELEASE_FLAG"
LDFLAGS="-lm -lpthread"
echo "=== Building Phase 6-1.5 Integrated Test ==="
echo "Flags: $PHASE6_FLAG $RELEASE_FLAG"
echo ""
# Compile HAKMEM core files
echo "Compiling HAKMEM core..."
gcc $CFLAGS -c core/hakmem.c -o build/hakmem_phase6.o
gcc $CFLAGS -c core/hakmem_tiny.c -o build/hakmem_tiny_phase6.o
gcc $CFLAGS -c core/hakmem_pool.c -o build/hakmem_pool_phase6.o
gcc $CFLAGS -c core/hakmem_l25_pool.c -o build/hakmem_l25_pool_phase6.o
gcc $CFLAGS -c core/hakmem_tiny_superslab.c -o build/hakmem_tiny_superslab_phase6.o
gcc $CFLAGS -c core/hakmem_tiny_magazine.c -o build/hakmem_tiny_magazine_phase6.o
gcc $CFLAGS -c core/hakmem_policy.c -o build/hakmem_policy_phase6.o
gcc $CFLAGS -c core/hakmem_prof.c -o build/hakmem_prof_phase6.o
# Compile test benchmark
echo "Compiling benchmark..."
gcc $CFLAGS -c benchmarks/src/tiny/phase6/bench_phase6_integrated.c -o build/bench_phase6_integrated.o
# Link
echo "Linking..."
gcc -o bench_phase6_integrated \
build/bench_phase6_integrated.o \
build/hakmem_phase6.o \
build/hakmem_tiny_phase6.o \
build/hakmem_pool_phase6.o \
build/hakmem_l25_pool_phase6.o \
build/hakmem_tiny_superslab_phase6.o \
build/hakmem_tiny_magazine_phase6.o \
build/hakmem_policy_phase6.o \
build/hakmem_prof_phase6.o \
$LDFLAGS
echo ""
echo "=== Build Complete! ==="
echo "Binary: ./bench_phase6_integrated"
echo ""
echo "Run with: ./bench_phase6_integrated"