From: Arnaud Lacombe <lacombar@gmail.com>
To: linux-kbuild@vger.kernel.org
Cc: Michal Marek <mmarek@suse.cz>, Arnaud Lacombe <lacombar@gmail.com>
Subject: [RFCv2 04/13] genksyms: migrate parser to implicit rules
Date: Mon, 23 May 2011 04:10:30 -0400 [thread overview]
Message-ID: <1306138239-13440-5-git-send-email-lacombar@gmail.com> (raw)
In-Reply-To: <1306138239-13440-1-git-send-email-lacombar@gmail.com>
---
scripts/genksyms/.gitignore | 6 ++--
scripts/genksyms/Makefile | 48 ++----------------------------------------
scripts/genksyms/lex.l | 2 +-
3 files changed, 7 insertions(+), 49 deletions(-)
diff --git a/scripts/genksyms/.gitignore b/scripts/genksyms/.gitignore
index be5cadb..8b11ab4 100644
--- a/scripts/genksyms/.gitignore
+++ b/scripts/genksyms/.gitignore
@@ -1,4 +1,4 @@
-keywords.c
-lex.c
-parse.[ch]
+*.hash.c
+*.lex.c
+*.tab.c
genksyms
diff --git a/scripts/genksyms/Makefile b/scripts/genksyms/Makefile
index 13d03cf..11d5582 100644
--- a/scripts/genksyms/Makefile
+++ b/scripts/genksyms/Makefile
@@ -2,52 +2,10 @@
hostprogs-y := genksyms
always := $(hostprogs-y)
-genksyms-objs := genksyms.o parse.o lex.o
+genksyms-objs := genksyms.o parse.tab.o
# -I needed for generated C source (shipped source)
-HOSTCFLAGS_parse.o := -Wno-uninitialized -I$(src)
+HOSTCFLAGS_parse.tab.o := -Wno-uninitialized -I$(src)
-# dependencies on generated files need to be listed explicitly
-$(obj)/lex.o: $(obj)/parse.h $(obj)/keywords.c
+$(obj)/parse.tab.o: $(obj)/lex.lex.c $(obj)/keywords.hash.c
-# -I needed for generated C source (shipped source)
-HOSTCFLAGS_lex.o := -I$(src)
-
-ifdef GENERATE_PARSER
-
-# gperf
-
-quiet_cmd_keywords.c = GPERF $@
- cmd_keywords.c = gperf -L ANSI-C -a -C -E -g -H is_reserved_hash \
- -k 1,3,$$ -N is_reserved_word -p -t $< > $@
-
-$(obj)/keywords.c: $(obj)/keywords.gperf FORCE
- $(call if_changed,keywords.c)
- cp $@ $@_shipped
-
-# flex
-
-quiet_cmd_lex.c = FLEX $@
- cmd_lex.c = flex -o$@ -d $<
-
-$(obj)/lex.c: $(obj)/lex.l $(obj)/keywords.c FORCE
- $(call if_changed,lex.c)
- cp $@ $@_shipped
-
-# bison
-
-quiet_cmd_parse.c = BISON $@
- cmd_parse.c = bison -o$@ -dtv $(filter-out FORCE,$^)
-
-$(obj)/parse.c: $(obj)/parse.y FORCE
- $(call if_changed,parse.c)
- cp $@ $@_shipped
- cp $(@:.c=.h) $(@:.c=.h)_shipped
-
-$(obj)/parse.h: $(obj)/parse.c ;
-
-clean-files += parse.output
-
-endif
-
-targets += keywords.c lex.c parse.c parse.h
diff --git a/scripts/genksyms/lex.l b/scripts/genksyms/lex.l
index adf75b6..fb881b6 100644
--- a/scripts/genksyms/lex.l
+++ b/scripts/genksyms/lex.l
@@ -91,7 +91,7 @@ MC_TOKEN ([~%^&*+=|<>/-]=)|(&&)|("||")|(->)|(<<)|(>>)
/* Bring in the keyword recognizer. */
-#include "keywords.c"
+#include "keywords.hash.c"
/* Macros to append to our phrase collection list. */
--
1.7.3.4.574.g608b.dirty
next prev parent reply other threads:[~2011-05-23 8:11 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-23 8:10 [RFCv2 00/13] Kbuild: factor parser rules Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 01/13] kbuild: add implicit rules for parser generation Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 02/13] genksyms: include the lexer from the parser Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 03/13] genksyms: pass hash and lookup functions name and target language though the input file Arnaud Lacombe
2011-05-23 8:10 ` Arnaud Lacombe [this message]
2011-05-23 8:10 ` [RFCv2 05/13] genksym: regen parser Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 06/13] kconfig: constify `kconf_id_lookup' Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 07/13] kconfig: back-out parser prefix, from `zconf' to `yy' Arnaud Lacombe
2011-05-23 8:54 ` Yann E. MORIN
2011-05-23 9:07 ` Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 08/13] kconfig: kill no longer needed reference to YYDEBUG Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 09/13] kconfig: migrate parser to implicit rules Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 10/13] kconfig: regen parser Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 11/13] dtc: include the lexer from the parser Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 12/13] dtc: migrate parser to implicit rules Arnaud Lacombe
2011-05-23 8:10 ` [RFCv2 13/13] dtc: regen parser Arnaud Lacombe
2011-05-23 8:39 ` [RFCv2 00/13] Kbuild: factor parser rules Arnaud Lacombe
2011-05-24 10:47 ` Michal Marek
2011-05-24 14:18 ` Arnaud Lacombe
2011-06-03 17:16 ` [RFCv3] " Arnaud Lacombe
2011-06-07 15:29 ` Michal Marek
2011-06-07 15:52 ` Arnaud Lacombe
2011-06-07 20:52 ` [RFCv4] " Arnaud Lacombe
2011-06-07 21:27 ` Arnaud Lacombe
2011-06-08 5:03 ` [RFCv5] " Arnaud Lacombe
2011-06-08 15:38 ` Michal Marek
2011-06-08 16:11 ` Arnaud Lacombe
2011-06-08 20:34 ` Michal Marek
2011-06-08 21:10 ` Arnaud Lacombe
2011-06-09 12:09 ` Michal Marek
2011-06-09 18:16 ` Arnaud Lacombe
2011-06-23 21:07 ` Michal Marek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1306138239-13440-5-git-send-email-lacombar@gmail.com \
--to=lacombar@gmail.com \
--cc=linux-kbuild@vger.kernel.org \
--cc=mmarek@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox