http://qs321.pair.com?node_id=1137462


in reply to OT Sick of make, is there a replacement?

There's Module::Build, which uses perl to avoid the creation of makefiles.
I hate it, but many others regard it favourably - it can definitely be classified as an "alternative" to makefiles.

Cheers,
Rob
  • Comment on Re: Sick of make, is there a replacement?

Replies are listed 'Best First'.
Re^2: Sick of make, is there a replacement?
by CountZero (Bishop) on Aug 05, 2015 at 06:23 UTC
    And then the Powers That Be have decided to take Module::Build out of core, which means that you will first need make to install Module::Build.

    Aristotle gives a good overview of the problems with Module::Build and the promises never fulfilled.

    CountZero

    A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

    My blog: Imperial Deltronics

      If you want to know what is wrong with p5p: regarding the failure of an installer that never added support for XS modules as "its greatest success" sums it up.

      An installer that doesn't handle XS, has only to copy files from where they get untarred to where they need to be in the filesystem; and after 10 years it couldn't even do that.


      Anyone got any experience of this phone's predecessor?

      With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
      Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
      "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
      In the absence of evidence, opinion is indistinguishable from prejudice.
      I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!
      you will first need make to install Module::Build

      No, you don't actually need make to install Module::Build.
      From its README:
      To install "Module::Build", and any other module that uses "Module::Build" for its installation process, do the following: perl Build.PL # 'Build.PL' script creates the 'Build' script ./Build # Need ./ to ensure we're using this "Build" scrip +t ./Build test # and not another one that happens to be in the PA +TH ./Build install
      Module::Build does ship with a Makefile.PL, thus making it possible to install using EU::MM and a make utility.
      But you're not forced to install it that way.

      Cheers,
      Rob
        That's when you want to install things.

        If you want to use Module::Build you will have to install it first when it is no longer in core and quite likely that install process will use make.

        CountZero

        A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

        My blog: Imperial Deltronics
Re^2: Sick of make, is there a replacement?
by Anonymous Monk on Aug 05, 2015 at 06:54 UTC
      True, but make as such is not the problem but rather the difficulty of writing a makefile. ExtUtils::MakeMaker takes "care" of that. In most cases it simply works although there will be few people who will totally understand what is happening and it is a pain to do anything that is even a little outside of the standard practices. makepp being a drop-in replacement for make suffers from the same problems.

      Module::Build was started to do away with the dependence on the esoteric makefiles, but it did not fully deliver up on its promises and it just became another black box system to install Perl modules.

      CountZero

      A program should be light and agile, its subroutines connected like a string of pearls. The spirit and intent of the program should be retained throughout. There should be neither too little or too much, neither needless loops nor useless variables, neither lack of structure nor overwhelming rigidity." - The Tao of Programming, 4.1 - Geoffrey James

      My blog: Imperial Deltronics

        True, but...

        Why assume perl modules aka Makefile.PL/Build.PL? make is used for so much more than that