Slashdot Mirror


Managing Projects with GNU Make

sarumont writes "Every Open Source developer uses or has used GNU make at some point or another. Everyone who has ever compiled a piece of Open Source software has used GNU's make. So what exactly is GNU make and how does it work? The 3rd Edition of 'Managing Projects with GNU Make' tells you all about using GNU make and more."

8 of 49 comments (clear)

  1. Re:Java? by WolfWithoutAClause · · Score: 2, Insightful
    "Make?" - you insensitive clod!

    Significant, invisible characters like tab? Just say no. And that's just the start of your problems...

    I still have nightmares.

    --

    -WolfWithoutAClause

    "Gravity is only a theory, not a fact!"
  2. Re:Quite the assumption by Umbral+Blot · · Score: 3, Insightful

    As a Sourceforge admin (see my sig) I can testify from personal experience that Sourceforge has a heavy Linux bias. I do not think that this necessarily comes from the site, but who the site affiliates with, and the people who are drawn to it. First off is FreshMeat. FreshMeat is a great way to create interest in your project and attract developers, and yet windows only projects cannot use it. There is no good reason for this except an anti-windows bias. And secondly the majority of Sourceforge users are Linux users, which means that Linux projects attract more developers and users, which means in turn that their projects shoot up in popularity and name recognition much faster than a Windows project. And finally those Linux projects, being popular have an easy time finding someone to port to Windows, but a low key windows project has a hard time finding someone to port it to Linux since no one knows about it. Hence a kind of self-perpetuating process has arisen that downs out windows projects.

  3. Build tools by SunFan · · Score: 2, Insightful


    One thing I find quite remarkable is that in a couple of decades, make is still the only mainstream multi-language multi-platform build tool. The alternatives are either not widely used or are language-specific like Ant. With so many people not liking make, it's suprising an alternative tool hasn't really caught on.

    --
    -- Microsoft is the most expensive commodity operating system and office suite vendor in the marketplace.
  4. Everyone? by Brandybuck · · Score: 2, Insightful

    Everyone who has ever compiled a piece of Open Source software has used GNU's make.

    It is quite possible to compile a piece of Open Source Software without GNU make. It's not easy, to be sure, since there are so many projects out there that require GNU make (automake doesn't help matters much), but it is possible. There is BSD make, Solaris make, Microsoft's strange nmake, and several others. GNU is but one of many, and it's not even the only free make.

    The problem is that the make standard is so tepid that to get a decent make you need to extend it. So what we end up in reality is a lack of a make standard. I can write a complete C program that will compile with any standard C compiler. I can write a powerful bourne shell script that runs on any Bourne compliant shell. But to write a Makefile that will work under all makes is quite difficult.

    --
    Don't blame me, I didn't vote for either of them!
  5. Re:Quite the assumption by Haeleth · · Score: 4, Insightful

    I'm pretty sure there are plenty of open source developers who have never touched GNU Make.
    Open source on windows, OMG it does exist!!!!
    Step out of your Linux bubble.


    What's Linux-centric about GNU make?

    I'm primarily a Windows user, and I used to use GNU make all the time. Until I realised I preferred omake.

  6. Re:Quite the assumption by zerblat · · Score: 2, Insightful
    Well, you do know that Sourceforge was created by VA Linux (now known as VA Software)? And Freshmeat has always been a directory of software for *nix. There are zillions of sites that only list Windows software. There was a need for a site where you could find *nix software, and Freshmeat filled that gap.
    And secondly the majority of Sourceforge users are Linux users
    I'm not so sure about that. Certainly, SF is a site for open source-software, and a lot of OSS is *nix-centric (since, well, the most popular open source OSs are Unix-like). On the other hand, if you look at the most popular downloads at SF, IFAICS the most downloaded apps are either cross-platform or Windows only. The same is also true for the most active projects (but perhaps to a lesser extent).
    And finally those Linux projects, being popular have an easy time finding someone to port to Windows, but a low key windows project has a hard time finding someone to port it to Linux since no one knows about it.
    That doesn't explain why popular and well known projects such as Virtualdub and Filezilla haven't been ported. My guess is that it has more to do with the fact that *nix software is usually made to be portable from start (well, to some extent) and rely on free libraries and developer tools which often already have been ported to Windows.
    --
    Please alter my pants as fashion dictates.
  7. Re:Very few original broken tools replaced by macshit · · Score: 2, Insightful

    I think the main problem is that many people still want their projects to be pretty portable, at least among unix variants. Once you start requiring people to have "super-duper-make" (requiring pyperl version X.Y.Z) installed, they often just give up on your software rather than deal with the hassle of installing whatever your favorite tool is.

    Traditional make is a lowest-common-denominator, however much it sucks. GNU make is slowly becoming widespread enough that it may be a viable alternative.

    The autotools are widespread for a similar reason, in that they try very hard to produce portable configure scripts.

    [I don't have much experience with autoconf alternatives, but those I've seen -- e.g. imake and Larry Wall's Configure stuff -- suck even more than autoconf. It's sort of like democracy: the worst system there is, except for all the others :-]

    --
    We live, as we dream -- alone....
  8. Re:SCons is much better than GNU Make by eraserewind · · Score: 3, Insightful
    Well, GNU Make is open-source, so you can extend it, if you want to.
    Well, you can extend it, but you more than likely won't be able to get your patch into the main version. The project is extremely conservative about any new functionality. If it's not in GNU make, you can't use your new functionality if you hope to distribute to more than yourself.

    It's almost the same as the situation with internet explorer. Until the program with the most market share improves, everyone who cares about working with the marjority of people is stuck with a deficient system.