scsh-hackers
[Top] [All Lists]

Re: [Scsh-hackers] Makefile.in: rule for C files

To: Michel Schinz <Michel.Schinz@epfl.ch>
Subject: Re: [Scsh-hackers] Makefile.in: rule for C files
From: Martin Gasbichler <gasbichl@informatik.uni-tuebingen.de>
Date: Sun Jan 12 09:45:02 2003
Cc: scsh-hackers@lists.sourceforge.net
List-id: Discussion among the implementors <scsh-hackers.lists.sourceforge.net>
Sender: scsh-hackers-admin@lists.sourceforge.net
>>>>> "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


<Prev in Thread] Current Thread [Next in Thread>