Independence from (g)make

Adriaan de Groot adridg at sci.kun.nl
Wed Apr 17 16:23:42 BST 2002


We FreeBSD studs^Wweenies^Wpeople have BSD make (make) as opposed to GNU
make (gmake);  while it is possible to install and use gmake, some of us
would prefer to use the original BSD make. There's several steps involved
in getting that far. The first thing I'd like to do is clean up
Makefile.common in admin/. What's that mean?

The shell-commands used in Makefile.common are *huge* and complicated.
Some variables need to be set and passed on through a number of shell
commands, there are complicated statements, and some perl code as well.
I'd like to move those shell commands to separate shell scripts in admin/
For example, the cvs target has a shell command that is 96 lines long. As
a shell script we could lose all the ;\, add comments explaining what is
going on, and in general make it more maintainable. Oh, and support BSD
make better because BSD make doesn't like these really long commands.

The shell-command for the cvs target in Makefile.common could then be:

	MAKE=$(MAKE) $(SHELL) admin/cvs.sh

With that done, very little is needed to make the whole KDE build system
work with BSD make: a configure check to output the correct include
directive in Makefiles, (Lauri already has one) and some fixes to
Makefile.am's which have backslash-continued comments. And a similar fix
for the DEP_FILES comment which shows up everywhere, which also has a
backslash-continued comment.

What does -core-devel think? Is making the KDE build system make-agnostic
a worthy goal? I can test any changes I make on Solaris (gmake) and
FreeBSD (BSD make) first, so I think my chance of gumming everything up
are less than 50%.

-- 
+------------------------------+--------------------------------------------+
+ Adriaan de Groot             + Project: FRESCoS                           +
+ adridg at cs.kun.nl             + Private: adridg at sci.kun.nl                 +
+ Kamer A6020 tel. 024 3652272 + http://www.cs.kun.nl/~adridg/frescos/      +





More information about the kde-core-devel mailing list