aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-04-27 02:10:57 +0000
committerLaurent Bercot <ska@appnovation.com>2025-04-27 02:10:57 +0000
commitcc73efda66844ca87f1dd263926517664e8b1b08 (patch)
tree16153d053563925a0a820ceea2eef572e4abaa29
parent83115bc06793c68f460ea05fc2d8182751e86c35 (diff)
downloadexecline-cc73efda66844ca87f1dd263926517664e8b1b08.tar.gz
Build fixes
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rw-r--r--Makefile2
-rw-r--r--package/deps.mak8
-rwxr-xr-xtools/gen-deps.sh17
3 files changed, 13 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 3c1f939..50551d2 100644
--- a/Makefile
+++ b/Makefile
@@ -178,7 +178,7 @@ $(DESTDIR)$(pkgconfdir)/lib%.pc: lib%.pc
%.lo: %.c
exec $(CC) $(CPPFLAGS_ALL) $(CFLAGS_ALL) $(CFLAGS_SHARED) -c -o $@ $<
-$(ALL_BINS):
+$(ALL_BINS) $(TEST_BINS):
exec $(CC) -o $@ $(CFLAGS_ALL) $(LDFLAGS_ALL) $(LDFLAGS_NOSHARED) $^ $(EXTRA_LIBS) $(LDLIBS)
lib%.a.xyzzy:
diff --git a/package/deps.mak b/package/deps.mak
index f5c43fb..3b6cd58 100644
--- a/package/deps.mak
+++ b/package/deps.mak
@@ -185,13 +185,13 @@ wait: src/execline/wait.o ${LIBEXECLINE} -lskarnet
withstdinas: EXTRA_LIBS :=
withstdinas: src/execline/withstdinas.o ${LIBEXECLINE} -lskarnet
ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),)
-libexecline.a.xyzzy: src/libexecline/el_execsequence.o src/libexecline/el_forx_pidinfo.o src/libexecline/el_getstrict.o src/libexecline/el_modif_and_exec.o src/libexecline/el_modif_and_spawn.o src/libexecline/el_modifs_and_exec.o src/libexecline/el_parse.o src/libexecline/el_parse_from_buffer.o src/libexecline/el_parse_from_string.o src/libexecline/el_popenv.o src/libexecline/el_pushenv.o src/libexecline/el_semicolon.o src/libexecline/el_spawn0.o src/libexecline/el_gspawn0.o src/libexecline/el_substandrun.o src/libexecline/el_substandrun_str.o src/libexecline/el_substitute.o src/libexecline/el_transform.o src/libexecline/el_trueargv.o src/libexecline/el_vardupl.o src/libexecline/exlsn_define.o src/libexecline/exlsn_elglob.o src/libexecline/exlsn_importas.o src/libexecline/exlsn_multidefine.o src/libexecline/exlsn_exlp.o src/libexecline/exlsn_main.o src/libexecline/exlsn_free.o src/libexecline/exlp.o -lskarnet
+libexecline.a.xyzzy: src/libexecline/el_execsequence.o src/libexecline/el_forx_pidinfo.o src/libexecline/el_getstrict.o src/libexecline/el_modif_and_exec.o src/libexecline/el_modif_and_spawn.o src/libexecline/el_modifs_and_exec.o src/libexecline/el_parse.o src/libexecline/el_parse_from_buffer.o src/libexecline/el_parse_from_string.o src/libexecline/el_popenv.o src/libexecline/el_pushenv.o src/libexecline/el_semicolon.o src/libexecline/el_spawn0.o src/libexecline/el_gspawn0.o src/libexecline/el_substandrun.o src/libexecline/el_substandrun_str.o src/libexecline/el_substitute.o src/libexecline/el_transform.o src/libexecline/el_trueargv.o src/libexecline/el_vardupl.o src/libexecline/exlsn_define.o src/libexecline/exlsn_elglob.o src/libexecline/exlsn_importas.o src/libexecline/exlsn_multidefine.o src/libexecline/exlsn_exlp.o src/libexecline/exlsn_main.o src/libexecline/exlsn_free.o src/libexecline/exlp.o
else
-libexecline.a.xyzzy: src/libexecline/el_execsequence.lo src/libexecline/el_forx_pidinfo.lo src/libexecline/el_getstrict.lo src/libexecline/el_modif_and_exec.lo src/libexecline/el_modif_and_spawn.lo src/libexecline/el_modifs_and_exec.lo src/libexecline/el_parse.lo src/libexecline/el_parse_from_buffer.lo src/libexecline/el_parse_from_string.lo src/libexecline/el_popenv.lo src/libexecline/el_pushenv.lo src/libexecline/el_semicolon.lo src/libexecline/el_spawn0.lo src/libexecline/el_gspawn0.lo src/libexecline/el_substandrun.lo src/libexecline/el_substandrun_str.lo src/libexecline/el_substitute.lo src/libexecline/el_transform.lo src/libexecline/el_trueargv.lo src/libexecline/el_vardupl.lo src/libexecline/exlsn_define.lo src/libexecline/exlsn_elglob.lo src/libexecline/exlsn_importas.lo src/libexecline/exlsn_multidefine.lo src/libexecline/exlsn_exlp.lo src/libexecline/exlsn_main.lo src/libexecline/exlsn_free.lo src/libexecline/exlp.lo -lskarnet
+libexecline.a.xyzzy:src/libexecline/el_execsequence.lo src/libexecline/el_forx_pidinfo.lo src/libexecline/el_getstrict.lo src/libexecline/el_modif_and_exec.lo src/libexecline/el_modif_and_spawn.lo src/libexecline/el_modifs_and_exec.lo src/libexecline/el_parse.lo src/libexecline/el_parse_from_buffer.lo src/libexecline/el_parse_from_string.lo src/libexecline/el_popenv.lo src/libexecline/el_pushenv.lo src/libexecline/el_semicolon.lo src/libexecline/el_spawn0.lo src/libexecline/el_gspawn0.lo src/libexecline/el_substandrun.lo src/libexecline/el_substandrun_str.lo src/libexecline/el_substitute.lo src/libexecline/el_transform.lo src/libexecline/el_trueargv.lo src/libexecline/el_vardupl.lo src/libexecline/exlsn_define.lo src/libexecline/exlsn_elglob.lo src/libexecline/exlsn_importas.lo src/libexecline/exlsn_multidefine.lo src/libexecline/exlsn_exlp.lo src/libexecline/exlsn_main.lo src/libexecline/exlsn_free.lo src/libexecline/exlp.lo
endif
libexecline.pc: EXTRA_LIBS := -lskarnet ${SPAWN_LIB}
-libexecline.so.xyzzy: EXTRA_LIBS := ${SPAWN_LIB}
-libexecline.so.xyzzy: src/libexecline/el_execsequence.lo src/libexecline/el_forx_pidinfo.lo src/libexecline/el_getstrict.lo src/libexecline/el_modif_and_exec.lo src/libexecline/el_modif_and_spawn.lo src/libexecline/el_modifs_and_exec.lo src/libexecline/el_parse.lo src/libexecline/el_parse_from_buffer.lo src/libexecline/el_parse_from_string.lo src/libexecline/el_popenv.lo src/libexecline/el_pushenv.lo src/libexecline/el_semicolon.lo src/libexecline/el_spawn0.lo src/libexecline/el_gspawn0.lo src/libexecline/el_substandrun.lo src/libexecline/el_substandrun_str.lo src/libexecline/el_substitute.lo src/libexecline/el_transform.lo src/libexecline/el_trueargv.lo src/libexecline/el_vardupl.lo src/libexecline/exlsn_define.lo src/libexecline/exlsn_elglob.lo src/libexecline/exlsn_importas.lo src/libexecline/exlsn_multidefine.lo src/libexecline/exlsn_exlp.lo src/libexecline/exlsn_main.lo src/libexecline/exlsn_free.lo src/libexecline/exlp.lo -lskarnet
+libexecline.so.xyzzy: EXTRA_LIBS := -lskarnet ${SPAWN_LIB}
+libexecline.so.xyzzy:src/libexecline/el_execsequence.lo src/libexecline/el_forx_pidinfo.lo src/libexecline/el_getstrict.lo src/libexecline/el_modif_and_exec.lo src/libexecline/el_modif_and_spawn.lo src/libexecline/el_modifs_and_exec.lo src/libexecline/el_parse.lo src/libexecline/el_parse_from_buffer.lo src/libexecline/el_parse_from_string.lo src/libexecline/el_popenv.lo src/libexecline/el_pushenv.lo src/libexecline/el_semicolon.lo src/libexecline/el_spawn0.lo src/libexecline/el_gspawn0.lo src/libexecline/el_substandrun.lo src/libexecline/el_substandrun_str.lo src/libexecline/el_substitute.lo src/libexecline/el_transform.lo src/libexecline/el_trueargv.lo src/libexecline/el_vardupl.lo src/libexecline/exlsn_define.lo src/libexecline/exlsn_elglob.lo src/libexecline/exlsn_importas.lo src/libexecline/exlsn_multidefine.lo src/libexecline/exlsn_exlp.lo src/libexecline/exlsn_main.lo src/libexecline/exlsn_free.lo src/libexecline/exlp.lo
execline: EXTRA_LIBS := ${SPAWN_LIB} ${MAYBEPTHREAD_LIB}
execline: src/multicall/execline.o ${LIBEXECLINE} ${LIBNSSS} -lskarnet
INTERNAL_LIBS :=
diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh
index 8d3c6cd..9e18eb1 100755
--- a/tools/gen-deps.sh
+++ b/tools/gen-deps.sh
@@ -59,26 +59,25 @@ echo
for dir in $(ls -1 src | grep -v ^include) ; do
for file in $(ls -1 src/$dir/deps-lib) ; do
deps=
- both=
libs=
while read dep ; do
- if echo $dep | grep -qx '\${.*_LIB}' ; then
+ if echo $dep | grep -q -e '^-l' -e '^\${.*_LIB}' ; then
libs="$libs $dep"
- elif echo $dep | grep -q -e '^-l' -e '^\${LIB' ; then
- both="$both $dep"
+ elif echo $dep | grep -q '^\${LIB' ; then
+ deps="$deps $dep"
else
deps="$deps src/$dir/$dep"
fi
done < src/$dir/deps-lib/$file
echo 'ifeq ($(strip $(STATIC_LIBS_ARE_PIC)),)'
- echo "lib${file}.a.xyzzy:${deps}${both}"
+ echo "lib${file}.a.xyzzy:${deps}"
echo else
- echo "lib${file}.a.xyzzy:$(echo "${deps}" | sed 's/\.o/.lo/g')${both}"
+ echo "lib${file}.a.xyzzy:$(echo ${deps} | sed 's/\.o/.lo/g')"
echo endif
- if grep -E "^LIB_DEFS [+:]=" package/targets.mak | grep -qF "$file" ; then
- echo "lib${file}.pc: EXTRA_LIBS :=${both}${libs}"
+ if grep -qE "^LIB_DEFS [+:]= .*=$file" package/targets.mak ; then
+ echo "lib${file}.pc: EXTRA_LIBS :=${libs}"
echo "lib${file}.so.xyzzy: EXTRA_LIBS :=$libs"
- echo "lib${file}.so.xyzzy:$(echo "${deps}${both}" | sed 's/\.o/.lo/g')"
+ echo "lib${file}.so.xyzzy:$(echo ${deps} | sed 's/\.o/.lo/g')"
else
internal_libs="$internal_libs lib${file}.a.xyzzy"
fi