Paul D. Smith wrote:
%% bertold <[EMAIL PROTECTED]> writes:
b> Ok. So i fix it to b> .INTERMEDIATE: %.tab.h
You cannot use pattern matching in prerequisites of .INTERMEDIATE. This line says that a file named, literally, '%.tab.h' is to be treated as intermediate.
b> %.tab.c %.tab.h : %.y b> $(BS) $(BSFLAGS) $^
b> It is still deletes only C file.
This is because somewhere in your makefile you actually use xxx.tab.h as a prerequisite or target, while the same is not true of the .c file.
I believe, i am not using H file as a prerequisite. My source is Makefile:
include make.rules (where previously mentioned rule. now, without use of INTERMEDIATE)
LSRCS = $(wildcard *.l) BSRCS = $(wildcard *.y) SRCS = $(wildcard *.c) SRCS += $(patsubst %.y,%.tab.c,$(BSRCS)) SRCS += $(patsubst %.l,%.c,$(LSRCS)) OBJS = $(patsubst %.c,%.o,$(SRCS))
$(TARGETS): $(OBJS) <linking>
The only place where that H file mentioned is include directive in Flex file (L file).
_______________________________________________ Help-make mailing list [EMAIL PROTECTED] http://lists.gnu.org/mailman/listinfo/help-make
