comparison test/dynload_plain/Makefile.generic @ 609:f2f0e53d8b02

- test/dynload_plain: fix to make rule for old ksh93 versions, which segfault on nested, forked subshells
author Tassilo Philipp
date Tue, 27 Sep 2022 16:38:24 +0200
parents 1586812f8eed
children 2012dee097d3
comparison
equal deleted inserted replaced
608:b1f2b574d772 609:f2f0e53d8b02
10 .PHONY: all clean install 10 .PHONY: all clean install
11 all: ${TEST_C_LD} ${TEST_U8_SO} 11 all: ${TEST_C_LD} ${TEST_U8_SO}
12 # deduce path to default libc.so file, easier to do via shell than in code 12 # deduce path to default libc.so file, easier to do via shell than in code
13 # (see main() in dynload_plain.c); get from what ${TEST_C_LD} is linked 13 # (see main() in dynload_plain.c); get from what ${TEST_C_LD} is linked
14 # against, then reinvoke make with actual build 14 # against, then reinvoke make with actual build
15 export X=`((ldd ${TEST_C_LD} | awk '/libc\.so/{for(i=1;i<=NF;++i){if($$i~"^/"){print $$i;++r}}}END{exit !r}' || ls /lib*/libc.so* || ls /usr/lib/libc.so*) | grep -v '\.a$$' | (sort -V -r || sort -t . -n -k 2)) 2>/dev/null | head -1`; \ 15 export X=`{ (ldd ${TEST_C_LD} | awk '/libc\.so/{for(i=1;i<=NF;++i){if($$i~"^/"){print $$i;++r}}}END{exit !r}' || ls /lib*/libc.so* || ls /usr/lib/libc.so*) | grep -v '\.a$$' | (sort -V -r || sort -t . -n -k 2) } 2>/dev/null | head -1`; \
16 ${MAKE} DEF_C_DYLIB="$$X" ${APP} 16 ${MAKE} DEF_C_DYLIB="$$X" ${APP}
17 ${TEST_C_LD}: 17 ${TEST_C_LD}:
18 # dummy bin built with same toolchain and flags to deduce default c lib this is linked with 18 # dummy bin built with same toolchain and flags to deduce default c lib this is linked with
19 echo 'int main() { return 0; }' | ${CC} -x c ${CFLAGS} ${LDFLAGS} -o ${TEST_C_LD} - 19 echo 'int main() { return 0; }' | ${CC} -x c ${CFLAGS} ${LDFLAGS} -o ${TEST_C_LD} -
20 ${APP}: ${OBJS} 20 ${APP}: ${OBJS}