1 #!/bin/bash 2 3 set -euxo pipefail 4 cd "${0%/*}" 5 cd .. 6 7 # Sanity checks 8 if [ ! -e "CMakeLists.txt" ] || [ ! -e "src/omcproxy.c" ]; then 9 echo "omcproxy checkout not found" >&2 10 exit 1 11 fi 12 13 BUILD_ARGS="$@" 14 15 # Create build dirs 16 OMCPROXYDIR="$(pwd)" 17 BUILDDIR="${OMCPROXYDIR}/build" 18 DEPSDIR="${BUILDDIR}/depends" 19 [ -e "${BUILDDIR}" ] || mkdir "${BUILDDIR}" 20 [ -e "${DEPSDIR}" ] || mkdir "${DEPSDIR}" 21 22 # Download deps 23 cd "${DEPSDIR}" 24 [ -e "json-c" ] || git clone https://github.com/json-c/json-c.git 25 [ -e "libubox" ] || git clone https://github.com/openwrt/libubox.git 26 27 # Build json-c 28 cd "${DEPSDIR}/json-c" 29 cmake \ 30 -S . \ 31 -B . \ 32 -DCMAKE_PREFIX_PATH="${BUILDDIR}" \ 33 -DBUILD_SHARED_LIBS=OFF \ 34 -DDISABLE_EXTRA_LIBS=ON \ 35 --install-prefix "${BUILDDIR}" 36 make 37 make install 38 39 # Build libubox 40 cd "${DEPSDIR}/libubox" 41 cmake \ 42 -S . \ 43 -B . \ 44 -DCMAKE_PREFIX_PATH="${BUILDDIR}" \ 45 -DBUILD_LUA=OFF \ 46 -DBUILD_EXAMPLES=OFF \ 47 --install-prefix "${BUILDDIR}" 48 make 49 make install 50 51 # Build omcproxy 52 cd "${OMCPROXYDIR}" 53 cmake \ 54 -S . \ 55 -B "${BUILDDIR}" \ 56 -DCMAKE_PREFIX_PATH="${BUILDDIR}" \ 57 ${BUILD_ARGS} 58 make -C "${BUILDDIR}" 59 60 set +x 61 echo "✅ Success - the omcproxy binary is available at ${BUILDDIR}/omcproxy" 62 echo "👷 You can rebuild omcproxy by running 'make -C build'" 63 64 exit 0
This page was automatically generated by LXR 0.3.1. • OpenWrt