Blame view

scripts/genksyms/Makefile 1.18 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  
  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)
a3a6261a1   Sam Ravnborg   kbuild: fix genks...
26
  	cp $@ $@_shipped
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
27
28
29
30
  
  # flex
  
  quiet_cmd_lex.c = FLEX    $@
a3a6261a1   Sam Ravnborg   kbuild: fix genks...
31
        cmd_lex.c = flex -o$@ -d $< $(obj)/parse.h
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
32

a3a6261a1   Sam Ravnborg   kbuild: fix genks...
33
  $(obj)/lex.c: $(obj)/lex.l $(obj)/parse.h $(obj)/keywords.c FORCE
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
34
  	$(call if_changed,lex.c)
a3a6261a1   Sam Ravnborg   kbuild: fix genks...
35
  	cp $@ $@_shipped
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
36
37
38
39
40
41
42
43
  
  # 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)
a3a6261a1   Sam Ravnborg   kbuild: fix genks...
44
45
  	cp $@ $@_shipped
  	cp $(@:.c=.h) $(@:.c=.h)_shipped
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
46
47
48
49
50
51
52
53
  
  $(obj)/parse.h: $(obj)/parse.c ;
  
  clean-files	+= parse.output
  
  endif
  
  targets += keywords.c lex.c parse.c parse.h