Crossfire Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re:



>>Problem in the Imakefile in ./server. We kept getting an error message
>>about loop detected. In the other Makefiles BINDIR was /usr/bin/X11,
>>but in server it was BINDIR = ${C_BINDIR} which was the loop...
>>(Maybe it's (C_BINDIR), you get the idea. :)

The declaration of BINDIR is not causing the loop as far as I can see,
but in order to help I would need your Makefile, and the exact error
message from make.

>>(We could have caused this, but maybe someone more knowledgable in Imakefiles
>>can check it...

> The problem comes from a statement that is generated if you define
> HAVE_XPM and looks something like this.

> XPM_DEFINES = ...			/* Initial decl. */
> 	.
> 	.
> 	.
> XPM_DEFINES = $(XPM_DEFINES) ...	/* Post-initial decl. */

This will cause a loop on all the systems I've got. This happens because
XPM_DEFINES points to XPM_DEFINES which agian points to XPM_DEFINES, etc..

> The problem is caused by the second statement which is detected
> as an infinite loop, no so strange :-). A temporary way to fix it 
> is to put them on the same line. The author can fix it in a later
> release.

> Previous it looked something like this;

> XPM_DEFINES = ...
> 	.
> 	.
> 	.
> XPM_DEFINES += ...

> which is legal for gnumake (I think) but other doesn't recognize it.

The += syntax is legal in Sun's and FSF's make, but most others does
not allow the use of the += operator.
I order to fix this one should do something like this.
DEF1=<blabla>
DEF2=<blabla>
    .
    .
    .
XPM_DEFINES = $(DEF1) $(DEF2) ...... $(DEFN)

> /Eneq

Kjetil