1*4882a593SmuzhiyunFrom 90de630f21ac744a37b3adac1bd84654471744ff Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Khem Raj <raj.khem@gmail.com> 3*4882a593SmuzhiyunDate: Thu, 24 Aug 2017 22:30:01 -0700 4*4882a593SmuzhiyunSubject: [PATCH 1/2] build: fix parallel make 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunImported from Gentoo 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com> 9*4882a593Smuzhiyun--- 10*4882a593Smuzhiyun Makefile | 15 +++++++++++++-- 11*4882a593Smuzhiyun wvrules-posix.mk | 7 +++++-- 12*4882a593Smuzhiyun 2 files changed, 18 insertions(+), 4 deletions(-) 13*4882a593Smuzhiyun 14*4882a593Smuzhiyundiff --git a/Makefile b/Makefile 15*4882a593Smuzhiyunindex 72c8bef..5a4cfb2 100644 16*4882a593Smuzhiyun--- a/Makefile 17*4882a593Smuzhiyun+++ b/Makefile 18*4882a593Smuzhiyun@@ -131,12 +131,19 @@ utils/tests/%: PRELIBS+=$(LIBWVSTREAMS) 19*4882a593Smuzhiyun # libwvstreams: stream/event handling library 20*4882a593Smuzhiyun # 21*4882a593Smuzhiyun TARGETS += libwvstreams.so 22*4882a593Smuzhiyun-TARGETS += crypto/tests/ssltest ipstreams/tests/unixtest 23*4882a593Smuzhiyun+TARGETS += crypto/tests/ssltest 24*4882a593Smuzhiyun+crypto/tests/ssltest: $(LIBWVSTREAMS) 25*4882a593Smuzhiyun+ 26*4882a593Smuzhiyun+TARGETS += ipstreams/tests/unixtest 27*4882a593Smuzhiyun+ipstreams/tests/unixtest: $(LIBWVSTREAMS) 28*4882a593Smuzhiyun+ 29*4882a593Smuzhiyun TARGETS += crypto/tests/printcert 30*4882a593Smuzhiyun+crypto/tests/printcert: $(LIBWVSTREAMS) 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun ifndef _MACOS 33*4882a593Smuzhiyun ifneq ("$(with_readline)", "no") 34*4882a593Smuzhiyun TARGETS += ipstreams/tests/wsd 35*4882a593Smuzhiyun+ ipstreams/tests/wsd: $(LIBWVSTREAMS) 36*4882a593Smuzhiyun ipstreams/tests/wsd-LIBS += -lreadline 37*4882a593Smuzhiyun else 38*4882a593Smuzhiyun TEST_SKIP_OBJS += ipstreams/tests/wsd 39*4882a593Smuzhiyun@@ -179,7 +186,11 @@ uniconf/tests/%: PRELIBS+=$(LIBUNICONF) 40*4882a593Smuzhiyun # 41*4882a593Smuzhiyun ifneq ("$(with_dbus)", "no") 42*4882a593Smuzhiyun TARGETS += libwvdbus.so 43*4882a593Smuzhiyun- TARGETS += dbus/tests/wvdbus dbus/tests/wvdbusd 44*4882a593Smuzhiyun+ TARGETS += dbus/tests/wvdbus 45*4882a593Smuzhiyun+ dbus/tests/wvdbus: $(LIBWVDBUS) 46*4882a593Smuzhiyun+ 47*4882a593Smuzhiyun+ TARGETS += dbus/tests/wvdbusd 48*4882a593Smuzhiyun+ dbus/tests/wvdbusd: $(LIBWVDBUS) 49*4882a593Smuzhiyun TESTS += $(call tests_cc,dbus/tests) 50*4882a593Smuzhiyun libwvdbus_OBJS += $(call objects,dbus) 51*4882a593Smuzhiyun libwvdbus.so: $(libwvdbus_OBJS) $(LIBWVSTREAMS) 52*4882a593Smuzhiyundiff --git a/wvrules-posix.mk b/wvrules-posix.mk 53*4882a593Smuzhiyunindex f94d2cd..2e99f36 100644 54*4882a593Smuzhiyun--- a/wvrules-posix.mk 55*4882a593Smuzhiyun+++ b/wvrules-posix.mk 56*4882a593Smuzhiyun@@ -80,12 +80,15 @@ define wvlink_ar 57*4882a593Smuzhiyun $(AR) s $1 58*4882a593Smuzhiyun endef 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun-CC: FORCE 61*4882a593Smuzhiyun+CC: 62*4882a593Smuzhiyun @CC="$(CC)" CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ 63*4882a593Smuzhiyun $(WVSTREAMS)/gen-cc CC c 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun-CXX: FORCE 66*4882a593Smuzhiyun+CXX: 67*4882a593Smuzhiyun @CC="$(CXX)" CFLAGS="$(CXXFLAGS)" CPPFLAGS="$(CPPFLAGS)" \ 68*4882a593Smuzhiyun $(WVSTREAMS)/gen-cc CXX cc 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun+#All files must depend on the above two rules. This is a godawful hack. 71*4882a593Smuzhiyun+$(shell find -type f '(' -name '*.c' -o -name '*.cc' ')' ): CC CXX 72*4882a593Smuzhiyun+ 73*4882a593Smuzhiyun wvlink=$(LINK_MSG)$(WVLINK_CC) $(LDFLAGS) $($1-LDFLAGS) -o $1 $(filter %.o %.a %.so, $2) $($1-LIBS) $(XX_LIBS) $(LDLIBS) $(PRELIBS) $(LIBS) 74*4882a593Smuzhiyun-- 75*4882a593Smuzhiyun2.14.1 76*4882a593Smuzhiyun 77