50 lines
1.7 KiB
Bash
50 lines
1.7 KiB
Bash
|
|
#!/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"
|