in reply to Re^3: ExtUtils::MakeMaker, Makefile.PL: modify existing targets like "all" (as in make all) or "install"
in thread ExtUtils::MakeMaker, Makefile.PL: modify existing targets like "all" (as in make all) or "install"

Oh I found something in ExtUtils::MM_Unix:

Not all of the methods below are overridable in a Makefile.PL. Overridable methods are marked as (o). All methods are overridable by a platform specific MM_*.pm file.

So, for example sub MY::c_o { "hello" } works but sub MY::all_target{ ... } does not.

I ended up using all_targets(o) like this (note that I am using the 2nd method you mentioned, i.e. overriding by creating the MY package explicitly because I want access to the SUPER:

... WriteMakefile(%WriteMakefileArgs); package MY; sub top_targets { my $self = shift; my $orig_all = $self->SUPER::top_targets(); # translations target at the end here: $orig_all =~ s/\blinkext\b/linkext translations/; return $orig_all }

This works but I am absolutely not sure I have the order of the targets right.

  • Comment on Re^4: ExtUtils::MakeMaker, Makefile.PL: modify existing targets like "all" (as in make all) or "install"
  • Select or Download Code