Date: Thu, 01 Aug 1996 18:12:16 -0700 From: "Jordan K. Hubbard" <jkh@time.cdrom.com> To: Chuck Robey <chuckr@glue.umd.edu> Cc: "David E. O'Brien" <obrien@Nuxi.cs.ucdavis.edu>, FreeBSD Ports <FreeBSD-Ports@freebsd.org> Subject: Re: Sample Makefile Message-ID: <10174.838948336@time.cdrom.com> In-Reply-To: Your message of "Thu, 01 Aug 1996 18:48:49 EDT." <Pine.OSF.3.95.960801184620.22202G-100000@fiber.eng.umd.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
> I didn't want to at first, it's 13K in size, but I guess I will. I've > pasted it to the end of this file. If you comment on it, please don't > repost the whole thing to the list, but I'd like any comments anyone might > have. Hmmm. That's pretty huge. Erm.. As that most worthy tome, "Science Made Stupid", states: "Warty things too big, start over." [Those unfamilar with SMS will simply have to run right out and buy a copy, now won't you?] I think this Makefile is a convincing argument that the human-readable template file approach is a bad idea. What you want instead is a template file that's *program* readable, and a program which uses libdialog or X or whatever your choice of GUI technology is to prompt the user for various things based on which fields it sees as "optional", "non-optional" and so on. There would have to be some very port-specific assumptions for certain fields, such as the *_DEPENDS values which would require that you turn lists like "libz xpm" into "Xpm\\.4\\.:${PORTSDIR}/graphics/xpm z\\.1\\.:${PORTSDIR}/devel/libz" by searching the INDEX. A little additional stickyness, but nothing insoluble. If you design the template file right, I could even see a cgi version of the Makefile generator program. :-) Jordan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?10174.838948336>