[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] GNU make bug
From: |
Vadim V. Zhytnikov |
Subject: |
[Gcl-devel] GNU make bug |
Date: |
Sat, 04 Jun 2005 17:11:37 +0300 |
User-agent: |
Mozilla Thunderbird 1.0.2 (Windows/20050317) |
Hi!
Some time ago I wrote about GCL build
problem with recent GNU make. The trouble is
due to some obscure make bug. I'm not sure that
this is important since troublesome make version is cvs
beta but since bug is a bit hard to detect I decides to
post it's description and workaround. Maybe it will
be useful to somebody.
The problem manifests itself for GCL ANSI build for any
GCL version. The nasty thing about the problem is that
formally GCL build seems to be perfectly OK - no any warnings
or errors but resulting ANSI GCL image is broken.
1. It does not display banner text upon start
2. It segfaults on any lisp error, e.g. unbound
lisp variable
The trouble is with makefile in clcs directory.
It defines the following pattern rule for .o files:
%.o: %.c %.h %.data
$(CC) $(CFLAGS) -c $< -o $@
../xbin/append $*.data $@
Troublesome make ignores it and uses default built-in
rule for making .o from .c .h instead. So formally
target is built and makes is happy. But .data files
remain unappended to .o.
This is clear make bug which is recognized by make
developers (no fix yet). Workaround is to replace target
all: $(addsuffix .c,$(FILES)) $(addsuffix .o,$(FILES))
by
all: $(addsuffix .o,$(FILES))
in clcs/makefile. This modification seems to be
safe since .c are intermediate temporary files
and it makes our special rule for .o work
once again.
Best wishes,
Vadim
--
Vadim V. Zhytnikov
<address@hidden>
<address@hidden>
- [Gcl-devel] GNU make bug,
Vadim V. Zhytnikov <=