# These are external variables, and shouldn't clash with anything else # @CNAME@ # @CNAME@_BUILT # @CNAME@_HEADER # @CNAME@_BASE # @CNAME@_DEP_CFLAGS # @CNAME@_DEP_LIBS if [ -z ${@CNAME@_BUILT} ] then @CNAME@_BASE=@NAME@ source src/@NAME@/soversion @CNAME@="obj/${@CNAME@_BASE}.so.${SOMAJOR}.${SOMICRO}" @CNAME@_DEP_CFLAGS="" # @TODO@ cflags @CNAME@_DEP_LIBS="" # @TODO@ libs SO_EXTRA="${@CNAME@_DEP_CFLAGS} ${@CNAME@_DEP_LIBS} -lc \ -D_GNU_SOURCE -std=gnu99" echo "Building library ${@CNAME@}..." do_cmd source src/@NAME@/build.monolithic || return 1 MODIFIED=0 for test in ${MONOLITHIC_TESTS} ${HDR} ${SRC} do if [ ${test} -nt ${@CNAME@} ] then MODIFIED=1 break fi done if [ ${MODIFIED} -ne 0 ] then echo " Compiling" SONAME="${@CNAME@_BASE}.so.${SOMAJOR}" do_cmd ${CC} ${CFLAGS} -Iobj -shared -fpic -o "${@CNAME@}" \ -Wl,-soname,${SONAME} \ ${SRC} ${SO_EXTRA} || return 1 # make tests and linking work do_cmd ln -sf "$(basename "${@CNAME@}")" "obj/${SONAME}" || return 1 do_cmd ln -sf "$(basename "${@CNAME@}")" "obj/${@CNAME@_BASE}.so" || return 1 print_success "Library built" else print_success "Library up to date" fi @CNAME@_BUILT=1 @CNAME@_HEADER=${HDR} fi # vim: syntax=sh:@VIM_MODELINE@