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