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!160.45.4.4!fu-berlin.de!irz401!orion.sax.de!uriah.heep!news From: j@uriah.heep.sax.de (J Wunsch) Newsgroups: comp.unix.bsd.freebsd.misc Subject: Re: FreeBSD development question Date: 19 May 1997 09:40:36 GMT Organization: Private BSD site, Dresden Lines: 73 Message-ID: <5lp76k$42v@uriah.heep.sax.de> References: <337F43DC.371@xxsnet.net> Reply-To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) NNTP-Posting-Host: localhost.heep.sax.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Newsreader: knews 0.9.6 X-Phone: +49-351-2012 669 X-PGP-Fingerprint: DC 47 E6 E4 FF A6 E9 8F 93 21 E0 7D F9 12 D6 4E Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:41243 Sonya and Jeffrey Metcalf <metcalf@XXsnet.net> 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? The ports Makefiles? Well, they are normally just a small collection of variables only, or what are you referring to? X11 employs one actually functioning Makefile generation machine, called `imake'. You drop the description of your project into an Imakefile, and imake merges this with the knowledge of the underyling system into a large blurb Makefile. This is the only really working Makefile creation system i've seen. BSD hides most of the intelligence in include files, so in order to create and install a program called `foo', with just one source file `foo.c', and with an implied man page of `foo.1', all you need to say is: PROG=foo .include <bsd.prog.mk> For more complicated stuff, learning the basics of how make actually works is certainly not a waste of time. I often use it for documentation work as well, with stuff like: .SUFFIXES: .fig .eps .tex .dvi .fig.eps: fig2dev -Lps ${.IMPSRC} ${.TARGET} .tex.dvi: latex ${.IMPSRC} all: mydoc.dvi mydoc.dvi: mydoc.tex myfigure.eps This way, if i modify a drawing in xfig, make will automatically notice it, convert it into encapsulated postscript, and rebuild the DVI file due to the dependancy. Even being faced with the possibility of Word-like text processors in Unix now, i'm still way more comfortable with the above. (Yes, i tried those wisiwyg tools, and i found that these clicky-micky games aren't anything for me anymore. It is too hard to write text, and suddenly click through a bunch of menues where you can write just \section {Foo bar internals} without taking the hands away from the keyboard.) > 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? Probably not. Some people (like me :) will point you at Emacs, which is certainly everything else than ``closely approximate to Delphi'', but OTOH, i see it just the other way round: Delphi is certainly everything else than closely approximate to Emacs. :-) I'm sure others have other solutions. There once used to be a clone of the Borland text UI, called xwpe. I don't know what happened to it. I once gave it a try since i was familar with the Borland UI back in my DOS days, but i quickly noticed that i didn't like this kind of UI anymore then, after already being familar with Unix. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE Never trust an operating system you don't have sources for. ;-)