浏览代码

kbuild: fix genksyms Makefile

When enabling GENERATE_PARSER the genksyms Makefile
failed to create _shipped version of generated files.

Modifying keywords.gperf failed to cause a rebuild
of genksyms.
Fixed by specifying keywowrds .c as explicit prerequisite
of the lexer.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Sam Ravnborg 17 年之前
父节点
当前提交
a3a6261a11
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 6 2
      scripts/genksyms/Makefile

+ 6 - 2
scripts/genksyms/Makefile

@@ -23,14 +23,16 @@ quiet_cmd_keywords.c = GPERF   $@
 
 
 $(obj)/keywords.c: $(obj)/keywords.gperf FORCE
 $(obj)/keywords.c: $(obj)/keywords.gperf FORCE
 	$(call if_changed,keywords.c)
 	$(call if_changed,keywords.c)
+	cp $@ $@_shipped
 
 
 # flex
 # flex
 
 
 quiet_cmd_lex.c = FLEX    $@
 quiet_cmd_lex.c = FLEX    $@
-      cmd_lex.c = flex -o$@ -d $(filter-out FORCE,$^)
+      cmd_lex.c = flex -o$@ -d $< $(obj)/parse.h
 
 
-$(obj)/lex.c: $(obj)/lex.l $(obj)/parse.h FORCE
+$(obj)/lex.c: $(obj)/lex.l $(obj)/parse.h $(obj)/keywords.c FORCE
 	$(call if_changed,lex.c)
 	$(call if_changed,lex.c)
+	cp $@ $@_shipped
 
 
 # bison
 # bison
 
 
@@ -39,6 +41,8 @@ quiet_cmd_parse.c = BISON   $@
 
 
 $(obj)/parse.c: $(obj)/parse.y FORCE
 $(obj)/parse.c: $(obj)/parse.y FORCE
 	$(call if_changed,parse.c)
 	$(call if_changed,parse.c)
+	cp $@ $@_shipped
+	cp $(@:.c=.h) $(@:.c=.h)_shipped
 
 
 $(obj)/parse.h: $(obj)/parse.c ;
 $(obj)/parse.h: $(obj)/parse.c ;