From b533774a704c271a6feeaef76939b0aefbf039d7 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Wed, 14 Jan 2015 00:49:48 +0000 Subject: Parallel build fix --- COPYING | 2 +- Makefile | 8 ++++---- configure | 5 +++-- package/deps.mak | 30 +++++++++++++++--------------- package/targets.mak | 8 ++++++++ src/clients/deps-exe/s6-dnsip4 | 2 +- src/clients/deps-exe/s6-dnsip4-filter | 4 ++-- src/clients/deps-exe/s6-dnsip6 | 2 +- src/clients/deps-exe/s6-dnsip6-filter | 4 ++-- src/clients/deps-exe/s6-dnsmx | 2 +- src/clients/deps-exe/s6-dnsname | 2 +- src/clients/deps-exe/s6-dnsname-filter | 4 ++-- src/clients/deps-exe/s6-dnsns | 2 +- src/clients/deps-exe/s6-dnsq | 2 +- src/clients/deps-exe/s6-dnsqr | 2 +- src/clients/deps-exe/s6-dnsqualify | 2 +- src/clients/deps-exe/s6-dnssoa | 2 +- src/clients/deps-exe/s6-dnssrv | 2 +- src/clients/deps-exe/s6-dnstxt | 2 +- src/skadns/deps-exe/skadnsd | 2 +- tools/gen-deps.sh | 2 +- 21 files changed, 50 insertions(+), 41 deletions(-) diff --git a/COPYING b/COPYING index 63309ba..a49b1ca 100644 --- a/COPYING +++ b/COPYING @@ -1,4 +1,4 @@ -Copyright (c) 2011-2014 Laurent Bercot +Copyright (c) 2011-2015 Laurent Bercot Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above diff --git a/Makefile b/Makefile index b9eb4ea..c602cad 100644 --- a/Makefile +++ b/Makefile @@ -11,6 +11,8 @@ CC = $(error Please use ./configure first) STATIC_LIBS := SHARED_LIBS := +INTERNAL_LIBS := +EXTRA_TARGETS := -include config.mak include package/targets.mak @@ -32,13 +34,13 @@ STRIP := $(CROSS_COMPILE)strip INSTALL := ./tools/install.sh ALL_BINS := $(LIBEXEC_TARGETS) $(BIN_TARGETS) $(SBIN_TARGETS) -ALL_LIBS := $(SHARED_LIBS) $(STATIC_LIBS) +ALL_LIBS := $(SHARED_LIBS) $(STATIC_LIBS) $(INTERNAL_LIBS) ALL_INCLUDES := $(wildcard src/include/$(package)/*.h) all: $(ALL_LIBS) $(ALL_BINS) $(ALL_INCLUDES) clean: - @exec rm -f $(ALL_LIBS) $(ALL_BINS) $(wildcard src/*/*.o src/*/*.lo) + @exec rm -f $(ALL_LIBS) $(ALL_BINS) $(wildcard src/*/*.o src/*/*.lo) $(EXTRA_TARGETS) distclean: clean @exec rm -f config.mak src/include/${package}/config.h @@ -122,5 +124,3 @@ lib%.so: .PHONY: it all clean distclean tgz strip install install-dynlib install-bin install-sbin install-lib install-include .DELETE_ON_ERROR: - -.NOTPARALLEL: diff --git a/configure b/configure index 056061c..d8d62e8 100755 --- a/configure +++ b/configure @@ -169,8 +169,8 @@ for arg ; do --enable-static|--enable-static=yes) static=true ;; --disable-static|--enable-static=no) static=false ;; --enable-allstatic|--enable-allstatic=yes) allstatic=true ;; - --disable-allstatic|--enable-allstatic=no) allstatic=false ;; - --enable-static-libc|--enable-static-libc=yes) evenmorestatic=true ;; + --disable-allstatic|--enable-allstatic=no) allstatic=false ; evenmorestatic=false ;; + --enable-static-libc|--enable-static-libc=yes) allstatic=true ; evenmorestatic=true ;; --disable-static-libc|--enable-static-libc=no) evenmorestatic=false ;; --enable-slashpackage=*) sproot=${arg#*=} ; slashpackage=true ; ;; --enable-slashpackage) sproot= ; slashpackage=true ;; @@ -358,6 +358,7 @@ vpath lib%a$vpaths EOF if $allstatic ; then echo ".LIBPATTERNS := lib%.a" + echo "DO_ALLSTATIC := 1" vpathd= fi echo "vpath lib%.so$vpathd" diff --git a/package/deps.mak b/package/deps.mak index 9c467a2..04b76c4 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -131,33 +131,33 @@ src/skadns/skadns_zero.o src/skadns/skadns_zero.lo: src/skadns/skadns_zero.c src src/skadns/skadnsd.o src/skadns/skadnsd.lo: src/skadns/skadnsd.c src/include/s6-dns/s6dns.h src/include/s6-dns/skadns.h s6-dnsip4: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsip4: src/clients/s6-dnsip4.o -ls6dns -lskarnet +s6-dnsip4: src/clients/s6-dnsip4.o ${LIBS6DNS} -lskarnet s6-dnsip4-filter: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsip4-filter: src/clients/s6-dnsip4-filter.o src/clients/s6dns_generic_filter_main.o src/clients/s6dns_namescanner.o -lskadns -ls6dns -lskarnet +s6-dnsip4-filter: src/clients/s6-dnsip4-filter.o src/clients/s6dns_generic_filter_main.o src/clients/s6dns_namescanner.o ${LIBSKADNS} ${LIBS6DNS} -lskarnet s6-dnsip6: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsip6: src/clients/s6-dnsip6.o -ls6dns -lskarnet +s6-dnsip6: src/clients/s6-dnsip6.o ${LIBS6DNS} -lskarnet s6-dnsip6-filter: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsip6-filter: src/clients/s6-dnsip6-filter.o src/clients/s6dns_generic_filter_main.o src/clients/s6dns_namescanner.o -lskadns -ls6dns -lskarnet +s6-dnsip6-filter: src/clients/s6-dnsip6-filter.o src/clients/s6dns_generic_filter_main.o src/clients/s6dns_namescanner.o ${LIBSKADNS} ${LIBS6DNS} -lskarnet s6-dnsmx: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsmx: src/clients/s6-dnsmx.o -ls6dns -lskarnet +s6-dnsmx: src/clients/s6-dnsmx.o ${LIBS6DNS} -lskarnet s6-dnsname: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsname: src/clients/s6-dnsname.o -ls6dns -lskarnet +s6-dnsname: src/clients/s6-dnsname.o ${LIBS6DNS} -lskarnet s6-dnsname-filter: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsname-filter: src/clients/s6-dnsname-filter.o src/clients/s6dns_generic_filter_main.o -lskadns -ls6dns -lskarnet +s6-dnsname-filter: src/clients/s6-dnsname-filter.o src/clients/s6dns_generic_filter_main.o ${LIBSKADNS} ${LIBS6DNS} -lskarnet s6-dnsns: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsns: src/clients/s6-dnsns.o -ls6dns -lskarnet +s6-dnsns: src/clients/s6-dnsns.o ${LIBS6DNS} -lskarnet s6-dnsq: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsq: src/clients/s6-dnsq.o -ls6dns -lskarnet +s6-dnsq: src/clients/s6-dnsq.o ${LIBS6DNS} -lskarnet s6-dnsqr: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnsqr: src/clients/s6-dnsqr.o -ls6dns -lskarnet +s6-dnsqr: src/clients/s6-dnsqr.o ${LIBS6DNS} -lskarnet s6-dnsqualify: private EXTRA_LIBS := -s6-dnsqualify: src/clients/s6-dnsqualify.o -ls6dns -lskarnet +s6-dnsqualify: src/clients/s6-dnsqualify.o ${LIBS6DNS} -lskarnet s6-dnssoa: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnssoa: src/clients/s6-dnssoa.o -ls6dns -lskarnet +s6-dnssoa: src/clients/s6-dnssoa.o ${LIBS6DNS} -lskarnet s6-dnssrv: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnssrv: src/clients/s6-dnssrv.o -ls6dns -lskarnet +s6-dnssrv: src/clients/s6-dnssrv.o ${LIBS6DNS} -lskarnet s6-dnstxt: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -s6-dnstxt: src/clients/s6-dnstxt.o -ls6dns -lskarnet +s6-dnstxt: src/clients/s6-dnstxt.o ${LIBS6DNS} -lskarnet s6-randomip: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} s6-randomip: src/clients/s6-randomip.o -lskarnet libs6dns.a: src/libs6dns/s6dns_constants_error.o src/libs6dns/s6dns_constants_error_str.o src/libs6dns/s6dns_debughook_zero.o src/libs6dns/s6dns_domain_arpafromip4.o src/libs6dns/s6dns_domain_arpafromip6.o src/libs6dns/s6dns_domain_decode.o src/libs6dns/s6dns_domain_encode.o src/libs6dns/s6dns_domain_encodelist.o src/libs6dns/s6dns_domain_fromstring.o src/libs6dns/s6dns_domain_fromstring_noqualify_encode.o src/libs6dns/s6dns_domain_fromstring_qualify_encode.o src/libs6dns/s6dns_domain_noqualify.o src/libs6dns/s6dns_domain_qualify.o src/libs6dns/s6dns_domain_tostring.o src/libs6dns/s6dns_engine.o src/libs6dns/s6dns_engine_free.o src/libs6dns/s6dns_engine_freen.o src/libs6dns/s6dns_engine_here.o src/libs6dns/s6dns_engine_nextdeadline.o src/libs6dns/s6dns_engine_zero.o src/libs6dns/s6dns_fmt_domainlist.o src/libs6dns/s6dns_fmt_hinfo.o src/libs6dns/s6dns_fmt_mx.o src/libs6dns/s6dns_fmt_soa.o src/libs6dns/s6dns_fmt_srv.o src/libs6dns/s6dns_message_counts_next.o src/libs6dns/s6dns_message_counts_pack.o src/libs6dns/s6dns_message_counts_unpack.o src/libs6dns/s6dns_message_counts_zero.o src/libs6dns/s6dns_message_get_domain.o src/libs6dns/s6dns_message_get_domain_internal.o src/libs6dns/s6dns_message_get_hinfo.o src/libs6dns/s6dns_message_get_string.o src/libs6dns/s6dns_message_get_string_internal.o src/libs6dns/s6dns_message_get_strings.o src/libs6dns/s6dns_message_get_mx.o src/libs6dns/s6dns_message_get_soa.o src/libs6dns/s6dns_message_get_srv.o src/libs6dns/s6dns_message_header_pack.o src/libs6dns/s6dns_message_header_unpack.o src/libs6dns/s6dns_message_header_zero.o src/libs6dns/s6dns_message_parse_answer_aaaa.o src/libs6dns/s6dns_message_parse_answer_a.o src/libs6dns/s6dns_message_parse_answer_domain.o src/libs6dns/s6dns_message_parse_answer_hinfo.o src/libs6dns/s6dns_message_parse_answer_mx.o src/libs6dns/s6dns_message_parse_answer_soa.o src/libs6dns/s6dns_message_parse_answer_srv.o src/libs6dns/s6dns_message_parse_answer_strings.o src/libs6dns/s6dns_message_parse.o src/libs6dns/s6dns_message_parse_getrr.o src/libs6dns/s6dns_message_parse_init.o src/libs6dns/s6dns_message_parse_next.o src/libs6dns/s6dns_message_parse_skipqd.o src/libs6dns/s6dns_rci_free.o src/libs6dns/s6dns_rci_here.o src/libs6dns/s6dns_rci_init.o src/libs6dns/s6dns_rci_zero.o src/libs6dns/s6dns_resolve_core.o src/libs6dns/s6dns_resolve_parse.o src/libs6dns/s6dns_resolven_loop.o src/libs6dns/s6dns_resolven_parse.o src/libs6dns/s6dns_resolve_dpag.o src/libs6dns/s6dns_resolve_mpag.o src/libs6dns/s6dns_resolve_name4.o src/libs6dns/s6dns_resolve_name6.o src/libs6dns/s6dns_resolvenoq.o src/libs6dns/s6dns_resolveq.o src/libs6dns/s6dns_resolvenoq_aaaaa.o src/libs6dns/s6dns_resolveq_aaaaa.o src/libs6dns/s6dns_analyze_packet.o src/libs6dns/s6dns_analyze_qtype_parse.o src/libs6dns/s6dns_analyze_record.o src/libs6dns/s6dns_analyze_record_a.o src/libs6dns/s6dns_analyze_record_aaaa.o src/libs6dns/s6dns_analyze_record_hinfo.o src/libs6dns/s6dns_analyze_record_mx.o src/libs6dns/s6dns_analyze_record_soa.o src/libs6dns/s6dns_analyze_record_srv.o src/libs6dns/s6dns_analyze_record_domain.o src/libs6dns/s6dns_analyze_record_strings.o src/libs6dns/s6dns_analyze_record_unknown.o src/libs6dns/s6dns_analyze_rtypetable.o src/libs6dns/s6dns_debug_dumpdt_stdout.o src/libs6dns/s6dns_debug_dumpdt_stderr.o src/libs6dns/s6dns_debug_dumpdt_post_recv.o src/libs6dns/s6dns_debug_dumpdt_pre_send.o src/libs6dns/s6dns_debug_dumpdt_post_send.o @@ -165,4 +165,4 @@ libs6dns.so: src/libs6dns/s6dns_constants_error.lo src/libs6dns/s6dns_constants libskadns.a: src/skadns/skadns_cancel.o src/skadns/skadns_end.o src/skadns/skadns_packet.o src/skadns/skadns_packetlen.o src/skadns/skadns_release.o src/skadns/skadns_send.o src/skadns/skadns_start.o src/skadns/skadns_startf.o src/skadns/skadns_update.o src/skadns/skadns_zero.o libskadns.so: src/skadns/skadns_cancel.lo src/skadns/skadns_end.lo src/skadns/skadns_packet.lo src/skadns/skadns_packetlen.lo src/skadns/skadns_release.lo src/skadns/skadns_send.lo src/skadns/skadns_start.lo src/skadns/skadns_startf.lo src/skadns/skadns_update.lo src/skadns/skadns_zero.lo skadnsd: private EXTRA_LIBS := ${SOCKET_LIB} ${TAINNOW_LIB} -skadnsd: src/skadns/skadnsd.o -ls6dns -lskarnet +skadnsd: src/skadns/skadnsd.o ${LIBS6DNS} -lskarnet diff --git a/package/targets.mak b/package/targets.mak index 78af02f..10f2e06 100644 --- a/package/targets.mak +++ b/package/targets.mak @@ -18,6 +18,14 @@ s6-dnsqr LIBEXEC_TARGETS := +ifdef DO_ALLSTATIC +LIBS6DNS := libs6dns.a +LIBSKADNS := libskadns.a +else +LIBS6DNS := libs6dns.so +LIBSKADNS := libskadns.so +endif + ifdef DO_SHARED SHARED_LIBS := libs6dns.so libskadns.so endif diff --git a/src/clients/deps-exe/s6-dnsip4 b/src/clients/deps-exe/s6-dnsip4 index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnsip4 +++ b/src/clients/deps-exe/s6-dnsip4 @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsip4-filter b/src/clients/deps-exe/s6-dnsip4-filter index cd2ffc4..5f78e23 100644 --- a/src/clients/deps-exe/s6-dnsip4-filter +++ b/src/clients/deps-exe/s6-dnsip4-filter @@ -1,7 +1,7 @@ s6dns_generic_filter_main.o s6dns_namescanner.o --lskadns --ls6dns +${LIBSKADNS} +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsip6 b/src/clients/deps-exe/s6-dnsip6 index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnsip6 +++ b/src/clients/deps-exe/s6-dnsip6 @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsip6-filter b/src/clients/deps-exe/s6-dnsip6-filter index cd2ffc4..5f78e23 100644 --- a/src/clients/deps-exe/s6-dnsip6-filter +++ b/src/clients/deps-exe/s6-dnsip6-filter @@ -1,7 +1,7 @@ s6dns_generic_filter_main.o s6dns_namescanner.o --lskadns --ls6dns +${LIBSKADNS} +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsmx b/src/clients/deps-exe/s6-dnsmx index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnsmx +++ b/src/clients/deps-exe/s6-dnsmx @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsname b/src/clients/deps-exe/s6-dnsname index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnsname +++ b/src/clients/deps-exe/s6-dnsname @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsname-filter b/src/clients/deps-exe/s6-dnsname-filter index 033d269..2e0c3d7 100644 --- a/src/clients/deps-exe/s6-dnsname-filter +++ b/src/clients/deps-exe/s6-dnsname-filter @@ -1,6 +1,6 @@ s6dns_generic_filter_main.o --lskadns --ls6dns +${LIBSKADNS} +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsns b/src/clients/deps-exe/s6-dnsns index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnsns +++ b/src/clients/deps-exe/s6-dnsns @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsq b/src/clients/deps-exe/s6-dnsq index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnsq +++ b/src/clients/deps-exe/s6-dnsq @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsqr b/src/clients/deps-exe/s6-dnsqr index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnsqr +++ b/src/clients/deps-exe/s6-dnsqr @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnsqualify b/src/clients/deps-exe/s6-dnsqualify index 295d71e..833e88d 100644 --- a/src/clients/deps-exe/s6-dnsqualify +++ b/src/clients/deps-exe/s6-dnsqualify @@ -1,2 +1,2 @@ --ls6dns +${LIBS6DNS} -lskarnet diff --git a/src/clients/deps-exe/s6-dnssoa b/src/clients/deps-exe/s6-dnssoa index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnssoa +++ b/src/clients/deps-exe/s6-dnssoa @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnssrv b/src/clients/deps-exe/s6-dnssrv index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnssrv +++ b/src/clients/deps-exe/s6-dnssrv @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/clients/deps-exe/s6-dnstxt b/src/clients/deps-exe/s6-dnstxt index 4181fd6..27a7641 100644 --- a/src/clients/deps-exe/s6-dnstxt +++ b/src/clients/deps-exe/s6-dnstxt @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/src/skadns/deps-exe/skadnsd b/src/skadns/deps-exe/skadnsd index 4181fd6..27a7641 100755 --- a/src/skadns/deps-exe/skadnsd +++ b/src/skadns/deps-exe/skadnsd @@ -1,4 +1,4 @@ --ls6dns +${LIBS6DNS} -lskarnet ${SOCKET_LIB} ${TAINNOW_LIB} diff --git a/tools/gen-deps.sh b/tools/gen-deps.sh index 5824dd6..2f7c57d 100755 --- a/tools/gen-deps.sh +++ b/tools/gen-deps.sh @@ -71,7 +71,7 @@ for dir in $(ls -1 src | grep -v ^include) ; do if echo $dep | grep -q -- \\.o$ ; then dep="src/$dir/$dep" fi - if echo $dep | grep -q ^\\\$ ; then + if echo $dep | grep -q '^\${.*_LIB}' ; then libs="$libs $dep" else deps="$deps $dep" -- cgit v1.2.3