Making Packager-Friendly Software
Subject:   Patching Makefiles?!
Date:   2005-05-10 11:20:41
From:   jmmv
Response to: Patching Makefiles?!

I knew the "make VAR=value" trick, and I use it wherever possible to avoid patching Makefiles (which is a maintenance nightmare). But it's not always useful.

For example, you may want to just change a part of the variable (i.e., to remove some flags), or you may want to append a value to it. Anyway, despite Makefiles were used to describe this technique, it is applicable to any other kind of file, such as configuration files, manual pages, scripts (as described in the #!/usr/bin/perl example), etc. Therefore, the same problems and solutions arise.

About the DESTDIR thing, yes, you are right. I'd have mentioned it, as it makes things nice with staged installations (and certainly helps some packaging systems). I forgot because we don't use it in pkgsrc ;)

Thanks for your comments.

Full Threads Oldest First

Showing messages 1 through 1 of 1.

  • Patching Makefiles?!
    2005-05-10 12:36:33  aristotle [View]

    Ah. Well, that is why it’s good to write Makefiles such that large aggregate values like CFLAGS are concatenated from many different partial variables. :) A typical example might be MAN1DIR=$(PREFIX)/$(MANDIR)/man1 which gives maximum flexibility in how to influence the final destination of manpages from section 1. Well written Makefiles aren’t difficult to write, it just takes a bit of thought and work, and small projects without too much optional functionality don’t really need any additional build system scaffolding.