I have a question about the Makefile provided in the current scsh
0.6.3 beta.
It currently contains the following rule (line 45 of Makefile.in):
----------------------------------------------------------------------
.c.o:
$(CC) -g -c $(CPPFLAGS) $(DEFS) -I$(srcdir)/c -I$(srcdir)/cig $(CFLAGS)
-o $@ $<
----------------------------------------------------------------------
Is there any reason for the $(CPPFLAGS) to be *before* the include
directives -I$(srcdir)/c -I$(srcdir)/cig? The problem is that with
these settings, if the user uses CPPFLAGS to provide additional
include directories, and these directories happen to contain old
versions of the scsh include files, then scsh uses these and complains
at compile time (an example is scheme48.h).
This is not an artificial situation, it is in fact exactly what
happens when I try to update my scsh 0.5.3 to scsh 0.6.3 using the
Fink package I just wrote. (Fink is a package manager for Mac OS X,
see http://fink.sourceforge.net/).
My current solution is to include a patch file with my package which
modifies the line mentioned above to put the include directives
before the CPPFLAGS, and it works. The problem is that it's a bit
ugly, and I think that if it doesn't break anything, the modification
could be made directly in the official Makefile. And if it breaks
something, I'd be happy to know...
Thanks,
Michel.
|