* Joey Hess <jo...@debian.org>, 2009-06-13, 20:43:
make relies on submakes being called via $(MAKE) in the make file in
order to support parallel builds. Since the rules file runs a submake
via a debhelper command, even though that command then runs $MAKE,
make will not do its parallel magic (specifically, it won't leave
the jobserver FDs open when running the debhelper command). You can
see the same result with this simple case:
build: foo bar
foo:
echo foo
bar:
echo bar
FAKE=$(MAKE)
debian_rules_build:
$(FAKE)
If you run 'make -j2 debian_rules_build', it will not parallelize.
If the last line is changed to use $(MAKE), it will.
Or, you can change it to +$(FAKE); this causes make to treat the line
as a sub-make invocation.
So, there's nothing debhelper can do to help here; it's up to your rules
file.
Thanks for clarification.
If you want to work around this make limitation, you will have to
ensure your rules file calls $(MAKE) directly, with something like this:
override_dh_auto_build:
$(MAKE)
Well, that looks promising but does not actually fix anything.
Or, modify the call to dh_auto_build or dh to be prefixed with a +:
%:
+dh $@
That one is fine, thanks.
Maybe examples in /usr/share/doc/debhelper/examples/ and dh(1) should be
fixed to take this issue into consideration?
--
Jakub Wilk
--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org