diff options
author | Kim Kibum <kb0929.kim@samsung.com> | 2012-04-29 16:59:19 +0900 |
---|---|---|
committer | Kim Kibum <kb0929.kim@samsung.com> | 2012-04-29 16:59:19 +0900 |
commit | c1775d1a93a77a57380a4ce87ac3a8f807c944b2 (patch) | |
tree | e1f233f2af38ee247a677082198dd3a69a12a5a1 /scripts/genksyms/Makefile | |
parent | 2c2dcd5ffef2e97176e6a55e45512177e55e6fb9 (diff) | |
download | linux-2.6.36-master.tar.gz linux-2.6.36-master.tar.bz2 linux-2.6.36-master.zip |
Diffstat (limited to 'scripts/genksyms/Makefile')
-rw-r--r-- | scripts/genksyms/Makefile | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/scripts/genksyms/Makefile b/scripts/genksyms/Makefile new file mode 100644 index 00000000..e420fe44 --- /dev/null +++ b/scripts/genksyms/Makefile @@ -0,0 +1,53 @@ + +hostprogs-y := genksyms +always := $(hostprogs-y) + +genksyms-objs := genksyms.o parse.o lex.o + +# -I needed for generated C source (shipped source) +HOSTCFLAGS_parse.o := -Wno-uninitialized -I$(src) + +# dependencies on generated files need to be listed explicitly +$(obj)/lex.o: $(obj)/parse.h $(obj)/keywords.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)/parse.h + +$(obj)/lex.c: $(obj)/lex.l $(obj)/parse.h $(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 |