[comp.software-eng] Makefile Generators

rkxyv@mergvax (Rob Kedoin) (12/19/88)

I requested this information from comp.sources.wanted without any
success.  Can anyone from this newsgroup help ?

---
Does anyone know of any Public Domain makefile generators for UNIX ? 

My problem is that programmers(myself included) occasionally forget to
add dependencies into their Makefiles.  I am looking for a tool that
will somehow create/verify a Makefile so I can be confident that no
dependencies have been forgotten.

I would like information on non-public domain, UNIX,  programs if anyone has
it.

Thanks in advance,


		-Rob Kedoin

UUCP:	...{cpmain,icus,motown,philabs}\!mergvax\!rkxyv
ARPA:	rkxyv%mergvax.UUCP@uunet.uu.net
BITNET:	rkxyv%mergvax.UUCP@uunet.uu.net.BITNET
SNAIL-mail: Linotype Company - R&D 425 Oser Avenue Hauppauge, NY 11788
VOICE: (516) 434 - 2729

collin@hpindda.HP.COM (Collin Park) (12/22/88)

'mkmf' (according to my manpages, was written by UC Berkeley) is non
public domain i guess.  the manpage i have also refers to an article
called 'automated generation of make dependencies' in software practice
and experience 14:6 pp 575-585 (June 1984).

i don't know of any public domain ones.

------------------------------------------------------------------------------
Unless explicitly stated otherwise, opinions expressed above are my
own and do not explicitly reflect those of the Hewlett-Packard Company
or any other person or entity.

collin park			Hewlett-Packard Company
collin%hpda@hplabs.hp.com	19420 Homestead Road -- MS 43LT
				Cupertino, CA  95014  USA

jerbil@cit-vax.Caltech.Edu (Joe Beckenbach) (12/23/88)

	[Tried replying to the original article but mailer bounced it]

	The X windows system has a 'makedepend' command which parses like a
C preprocessor to find dependencies which might be hidden by #defines,
other #includes, and #if/#ifdef/#ifndef sequences. There are tradeoffs
involved of course:
	1- In building 'makedepend' in X windows, apparently a section of
the cpp source code is needed to ensure proper decoding and handling of #if's.
	2- Each file is processed once. If included multiple times, it simply
reuses what information it has. This causes problems in the unfortunate case
where a #if/#else clause selects one of two #includes in one file, and the
other in another: the first time through will set the choice of dependencies
in stone.

	The man page says that the algorithm assumes that all the source files
for a given makefile use the roughly the same set of -I and -D flags. The 
mechanism is based at bottom on cobbling together a useful framework from a
Berkeley kernel-building makefile which modifies itself to add appropriate
dependencies. [Sorry, can't remember where it is. I think it's in a GENERIC
directory somewhere. (And I call myself a system manager. :-) ]

	Joe Beckenbach [aka jerbil; use joe@cit-vax.caltech.edu for mail]
-- 
Joe Beckenbach	joe@csvax.caltech.edu	Caltech 256-80, Pasadena CA 91125
PRINCIPLE OF LEAST ASTONISHMENT: a common-sense rule unknown to the
	worlds of systems and programming