Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!metro!munnari.OZ.AU!uunet!in1.uu.net!206.154.70.8!news.webspan.net!newsfeeds.sol.net!news-xfer.netaxs.com!chippy.visi.com!news-out.visi.com!ais.net!news-peer.sprintlink.net!news.sprintlink.net!Sprint!howland.erols.net!surfnet.nl!feed2.belnet.be!news.belnet.be!feed1.news.innet.be!INbe.net!stns.news.pipex.net!warm.news.pipex.net!pipex!tank.news.pipex.net!pipex!news.utell.co.uk!usenet From: brian@shift.utell.net (Brian Somers) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: FreeBSD development question Date: 19 May 1997 14:42:51 GMT Organization: Awfulhak Ltd. Lines: 62 Message-ID: <5lpotb$kol@ui-gate.utell.co.uk> References: <337F43DC.371@XXsnet.net> <3380420C.794BDF32@FreeBSD.org> Reply-To: brian@awfulhak.org, brian@utell.co.uk NNTP-Posting-Host: shift.utell.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Newsreader: knews 0.9.8 Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:41219 In article <3380420C.794BDF32@freebsd.org>, "Jordan K. Hubbard" <jkh@FreeBSD.org> writes: > Sonya and Jeffrey Metcalf wrote: >> I would like to get into some more serious software development on >> FreeBSD, but I need to learn some of the basics. For now, I was >> wondering how some of the complex makefiles I see in the FreeBSD >> ports are generated. Does the developer actually do this by hand? > > Yep! > > Consider that the Makefile is actually the least of what makes up a > port. You also need to configure the files in the patches/ and pkg/ > directories, for one thing, and those are *highly* specific to the port > in question. Same goes for any special files/ that the port needs. > Automating the information there is theoretically possible, sure, just > not as trivial as you might think. > > The actual Makefile editing portion of the task is largely trivial and > the least of what goes into a port. :-) > > Also bear in mind that a lot of folks don't see the make syntax as quite > so arcane, having worked with it over many, many large software > projects, so it's not all that difficult to deal with. Which of course is true for anything. Given enough practice, I'm sure people could even find perl natural (*stir* *stir*). >> Also, does anyone know of any integrated development environments >> for UNIX (FreeBSD) that would closely approximate some of the >> capabilities of the Borland C++ Builder or the Borland Delphi >> development environments? Hopefully these questions are good ones. > > There are some tools for building X applications, like specTCL or > Xforms, but nothing even remotely approaching something like Borland's > IDE. Seems evolution just didn't head in that direction over in > UNIX-ville. I don't know if it's of any interest, but I have a semi-automated build tool called mk (yes, I know the name conflicts). It simplifies the makefile editing for an environment where you have large numbers of inter-dependencies over large numbers of different directories - a reasonably large C++ environment. It doesn't cope well with build rules that vary widely on a module by module level. Basically, you don't say "#include" in your .c* or .h files, but create a .mk file that says "interface_needs ...." or "code_needs ....". The "mk" program then parses this stuff, creates a ".inc" file with all the #includes in it (in the right order, no duplicates, recursion etc is dealt with) and runs your compiler with the "-include file.inc" switch. At link time, it knows what to link based on your dependencies (and in what order - important for C++), and multi-user multi-cpu multi-machine builds are a doddle. It builds in FreeBSD, Linux, DOS, OS/2 and a few other unices. If you're interested, there's a copy on http://www.awfulhak.org. -- Brian <brian@awfulhak.org> <brian@freebsd.org> <http://www.awfulhak.org> Don't _EVER_ lose your sense of humour !