mirror of
git://projects.qi-hardware.com/eda-tools.git
synced 2025-04-21 12:27:27 +03:00
b2/Makefile: generate dependencies also for YACC- and LEX-generated files
We need explicit rules to compile lex.yy.c and y.tab.c for the relaxed CFLAGS. However, this means that the implicit rule was not used and therefore no dependencies were generated.
This commit is contained in:
14
b2/Makefile
14
b2/Makefile
@@ -46,6 +46,12 @@ else
|
|||||||
DEPEND = $(DEPEND_quiet)
|
DEPEND = $(DEPEND_quiet)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
MKDEP = $(DEPEND) $(1).c | \
|
||||||
|
sed -e \
|
||||||
|
'/^\(.*:\)\? */{p;s///;s/ *\\\?$$/ /;s/ */:\n/g;H;}' \
|
||||||
|
-e '$${g;p;}' -e d >$(1).d; \
|
||||||
|
[ "$${PIPESTATUS[*]}" = "0 0" ] || { rm -f $(1).d; exit 1; }
|
||||||
|
|
||||||
.PHONY: all clean spotless try
|
.PHONY: all clean spotless try
|
||||||
|
|
||||||
all: boom
|
all: boom
|
||||||
@@ -58,20 +64,18 @@ lex.yy.c: lang.l y.tab.h
|
|||||||
|
|
||||||
lex.yy.o: lex.yy.c y.tab.h
|
lex.yy.o: lex.yy.c y.tab.h
|
||||||
$(CC) -c $(CFLAGS) $(SLOPPY) lex.yy.c
|
$(CC) -c $(CFLAGS) $(SLOPPY) lex.yy.c
|
||||||
|
$(call MKDEP, lex.yy)
|
||||||
|
|
||||||
y.tab.c y.tab.h: lang.y
|
y.tab.c y.tab.h: lang.y
|
||||||
$(YACC) $(YYFLAGS) -d lang.y
|
$(YACC) $(YYFLAGS) -d lang.y
|
||||||
|
|
||||||
y.tab.o: y.tab.c
|
y.tab.o: y.tab.c
|
||||||
$(CC) -c $(CFLAGS) $(SLOPPY) y.tab.c
|
$(CC) -c $(CFLAGS) $(SLOPPY) y.tab.c
|
||||||
|
$(call MKDEP, y.tab)
|
||||||
|
|
||||||
%.o: %.c
|
%.o: %.c
|
||||||
$(CC) -c $(CFLAGS) $*.c -o $*.o
|
$(CC) -c $(CFLAGS) $*.c -o $*.o
|
||||||
$(DEPEND) $*.c | \
|
$(call MKDEP, $*)
|
||||||
sed -e \
|
|
||||||
'/^\(.*:\)\? */{p;s///;s/ *\\\?$$/ /;s/ */:\n/g;H;}' \
|
|
||||||
-e '$${g;p;}' -e d >$*.d; \
|
|
||||||
[ "$${PIPESTATUS[*]}" = "0 0" ] || { rm -f $*.d; exit 1; }
|
|
||||||
|
|
||||||
-include $(OBJS:.o=.d)
|
-include $(OBJS:.o=.d)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user