Daniel Kauffman wrote: > In debian/rules, when using override_dh_auto_install, the command: > > dh_auto_install -- alternate-install-target > > Generates the following: > > make -j1 install DESTDIR=/tmp/<snip> alternate-install-target > > Instead of: > > make -j1 alternate-install-target DESTDIR=/tmp/<snip> > > While the commands: > > dh_auto_build > dh_auto_clean > > Work as expected by allowing alternate Makefile targets to be specified.
-- params
Pass params to the program that is run. These can be used to
supplement or override the any standard parameters that
dh_auto_install passes.
dh_auto_install is behaving as documented; the additional params are
supplemental, they don't cause it not to run the install target. If make had
a way to override a previously specified target with additional params,
the params could be used that way, but it doesn't.
It's an accident of implementation that dh_auto_build runs just "make"
with no target, which allows any additional params to contain a
different target to run than the default one. We can't generalize from
that to expect other commands to work the same. (You're wrong about
dh_auto_clean; it behaves like dh_auto_install.)
What you want is not possible to implement without dh_auto_install
understanding every parameter that could be passed to make in the params
-- which specify a target to run, and which don't -- so it can remove
the target it detected it should run if a param overrides. That would be
really ugly, especially if someone then generalized from that to its
support for other, non-make build systems.
Anyway, if you're need to override the make target run by dh_auto_*,
then the best way is to not use the debhelper command. From the man page:
This is intended to work for about 90% of packages. If it
doesn't work, or tries to use the wrong install target,
you're encouraged to skip using dh_auto_install at all,
and just run make install manually.
--
see shy jo
signature.asc
Description: Digital signature

