[vlc-devel] [PATCH] contrib: using make -C should spread the threads from "make -j" properly

Steve Lhomme robux4 at ycbcr.xyz
Fri Apr 6 17:33:42 CEST 2018


From: Steve Lhomme <robux4 at videolabs.io>

According to https://www.gnu.org/software/make/manual/html_node/Options_002fRecursion.html#index-recursion_002c-and-_002dj
"the parent make and all the sub-makes will communicate to ensure that there
are only ā€˜Nā€™ jobs running at the same time between them all."
---
 contrib/src/a52/rules.mak        | 4 ++--
 contrib/src/faad2/rules.mak      | 2 +-
 contrib/src/fontconfig/rules.mak | 2 +-
 contrib/src/gnutls/rules.mak     | 4 ++--
 contrib/src/libmpeg2/rules.mak   | 4 ++--
 contrib/src/ncurses/rules.mak    | 6 +++---
 contrib/src/twolame/rules.mak    | 2 +-
 contrib/src/x265/rules.mak       | 4 ++--
 contrib/src/zvbi/rules.mak       | 2 +-
 9 files changed, 15 insertions(+), 15 deletions(-)

diff --git a/contrib/src/a52/rules.mak b/contrib/src/a52/rules.mak
index 3ca4d08899..4e042a17da 100644
--- a/contrib/src/a52/rules.mak
+++ b/contrib/src/a52/rules.mak
@@ -26,6 +26,6 @@ endif
 	$(REQUIRE_GPL)
 	$(RECONF)
 	cd $< && $(HOSTVARS) ./configure $(HOSTCONF)
-	cd $</liba52 && $(MAKE) install
-	cd $</include && $(MAKE) install
+	cd $< && $(MAKE) -C liba52 install
+	cd $< && $(MAKE) -C include install
 	touch $@
diff --git a/contrib/src/faad2/rules.mak b/contrib/src/faad2/rules.mak
index 39d4a98514..7514b8c9a4 100644
--- a/contrib/src/faad2/rules.mak
+++ b/contrib/src/faad2/rules.mak
@@ -32,5 +32,5 @@ endif
 	$(RECONF)
 	cd $< && $(HOSTVARS) ./configure --without-drm $(HOSTCONF)
 	cd $< && sed -i.orig "s/shrext_cmds/shrext/g" libtool
-	cd $</libfaad && $(MAKE) install
+	cd $< && $(MAKE) -C libfaad install
 	touch $@
diff --git a/contrib/src/fontconfig/rules.mak b/contrib/src/fontconfig/rules.mak
index add002a210..23a8e8c095 100644
--- a/contrib/src/fontconfig/rules.mak
+++ b/contrib/src/fontconfig/rules.mak
@@ -64,7 +64,7 @@ ifndef HAVE_MACOSX
 	cd $< && $(MAKE) install
 else
 	cd $< && $(MAKE) install-exec
-	cd $</fontconfig && $(MAKE) install-data
+	cd $< && $(MAKE) -C fontconfig install-data
 	sed -e 's%/usr/lib/libiconv.la%%' -i.orig $(PREFIX)/lib/libfontconfig.la
 	cp $</fontconfig.pc $(PREFIX)/lib/pkgconfig/
 endif
diff --git a/contrib/src/gnutls/rules.mak b/contrib/src/gnutls/rules.mak
index b26d7c8350..ef996a5df7 100644
--- a/contrib/src/gnutls/rules.mak
+++ b/contrib/src/gnutls/rules.mak
@@ -89,6 +89,6 @@ endif
 .gnutls: gnutls
 	$(RECONF)
 	cd $< && $(GNUTLS_ENV) ./configure $(GNUTLS_CONF)
-	cd $</gl && $(MAKE) install
-	cd $</lib && $(MAKE) install
+	cd $< && $(MAKE) -C gl install
+	cd $< && $(MAKE) -C lib install
 	touch $@
diff --git a/contrib/src/libmpeg2/rules.mak b/contrib/src/libmpeg2/rules.mak
index c834c2030a..3b4ce47e37 100644
--- a/contrib/src/libmpeg2/rules.mak
+++ b/contrib/src/libmpeg2/rules.mak
@@ -27,6 +27,6 @@ libmpeg2: libmpeg2-$(LIBMPEG2_VERSION).tar.gz .sum-libmpeg2
 	$(REQUIRE_GPL)
 	$(RECONF)
 	cd $< && $(HOSTVARS) ./configure $(HOSTCONF) --without-x --disable-sdl
-	cd $</libmpeg2 && $(MAKE) && $(MAKE) install
-	cd $</include && $(MAKE) && $(MAKE) install
+	cd $< && $(MAKE) -C libmpeg2 && $(MAKE) -C libmpeg2 install
+	cd $< && $(MAKE) -C include && $(MAKE) -C include install
 	touch $@
diff --git a/contrib/src/ncurses/rules.mak b/contrib/src/ncurses/rules.mak
index eeb5dbb711..4b19f13b44 100644
--- a/contrib/src/ncurses/rules.mak
+++ b/contrib/src/ncurses/rules.mak
@@ -22,7 +22,7 @@ ncurses: ncurses-$(NCURSES_VERSION).tar.gz .sum-ncurses
 
 .ncurses: ncurses
 	cd $< && mkdir -p "$(PREFIX)/lib/pkgconfig" && $(HOSTVARS) PKG_CONFIG_LIBDIR="$(PREFIX)/lib/pkgconfig" ./configure $(patsubst --datarootdir=%,,$(HOSTCONF)) --without-debug --enable-widec --without-develop --without-shared --with-terminfo-dirs=/usr/share/terminfo --with-pkg-config=yes --enable-pc-files
-	cd $</ncurses && make -j1 && make install
-	cd $</include && make -j1 && make install
-	cd $</misc && make pc-files && cp ncursesw.pc "$(PREFIX)/lib/pkgconfig"
+	cd $< && make -C ncurses -j1 && make -C ncurses install
+	cd $< && make -C include -j1 && make -C include install
+	cd $< && make -C misc pc-files && cp misc/ncursesw.pc "$(PREFIX)/lib/pkgconfig"
 	touch $@
diff --git a/contrib/src/twolame/rules.mak b/contrib/src/twolame/rules.mak
index 70dda67387..3ff3de64fa 100644
--- a/contrib/src/twolame/rules.mak
+++ b/contrib/src/twolame/rules.mak
@@ -24,6 +24,6 @@ twolame: twolame-$(TWOLAME_VERSION).tar.gz .sum-twolame
 	$(RECONF)
 	cd $< && $(HOSTVARS) CFLAGS="${CFLAGS} -DLIBTWOLAME_STATIC" ./configure $(HOSTCONF)
 	cd $< && $(MAKE)
-	cd $</libtwolame && $(MAKE) install
+	cd $< && $(MAKE) -C libtwolame install
 	cd $< && $(MAKE) install-data
 	touch $@
diff --git a/contrib/src/x265/rules.mak b/contrib/src/x265/rules.mak
index 9a0aa39ee2..c1419e2b8a 100644
--- a/contrib/src/x265/rules.mak
+++ b/contrib/src/x265/rules.mak
@@ -35,7 +35,7 @@ endif
 
 .x265: x265 toolchain.cmake
 	$(REQUIRE_GPL)
-	cd $</source && $(HOSTVARS_PIC) $(CMAKE) -DENABLE_SHARED=OFF -DCMAKE_SYSTEM_PROCESSOR=$(ARCH) -DENABLE_CLI=OFF
-	cd $</source && $(MAKE) install
+	cd $< && $(HOSTVARS_PIC) $(CMAKE) -C source -DENABLE_SHARED=OFF -DCMAKE_SYSTEM_PROCESSOR=$(ARCH) -DENABLE_CLI=OFF
+	cd $< && $(MAKE) -C source install
 	sed -e s/'[^ ]*clang_rt[^ ]*'//g -i.orig "$(PREFIX)/lib/pkgconfig/x265.pc"
 	touch $@
diff --git a/contrib/src/zvbi/rules.mak b/contrib/src/zvbi/rules.mak
index 3378618622..a9cf42674f 100644
--- a/contrib/src/zvbi/rules.mak
+++ b/contrib/src/zvbi/rules.mak
@@ -47,7 +47,7 @@ endif
 	$(UPDATE_AUTOCONFIG)
 	$(RECONF)
 	cd $< && $(HOSTVARS) CFLAGS="$(ZVBI_CFLAGS)" ./configure $(ZVBICONF)
-	cd $</src && $(MAKE) install
+	cd $< && $(MAKE) -C src install
 	cd $< && $(MAKE) SUBDIRS=. install
 	sed -i.orig -e "s/\/[^ ]*libiconv.a/-liconv/" $(PREFIX)/lib/pkgconfig/zvbi-0.2.pc
 	touch $@
-- 
2.16.2



More information about the vlc-devel mailing list