#!/bin/sh -e optimisation=3 target_dir=tmp c=src/c c_sc=src/c-precompiled root="$PWD" compiler=gcc warnings="-Wall -Wfatal-errors" gcc_options="-std=c17 -pedantic-errors -D_POSIX_C_SOURCE=200809L -D_FILE_OFFSET_BITS=64 $warnings -fno-common -fno-math-errno -fPIC -O$optimisation -pthread -I$c/foreign -I$c_sc" compile_sph_db() { src="$c_sc/sph-db/main.c" obj="$target_dir/sph-db.o" lib="$target_dir/libsph-db.so" $compiler $gcc_options -c "$src" -o "$obj" $compiler $gcc_options -shared "$obj" -llmdb -lm -o "$lib" } compile_test_sph_db() { src="$c_sc/test/sph-db.c" bin="$target_dir/test-libsph-db" $compiler $gcc_options "$src" -Wl,-rpath,"$root/$target_dir" -L"$root/$target_dir" -llmdb -lsph-db -o "$bin" } mkdir -p "$target_dir" compile_sph_db compile_test_sph_db