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