]> git.sur5r.net Git - kconfig-frontends/blob - libs/parser/Makefile.am
ksync: move to scripts/
[kconfig-frontends] / libs / parser / Makefile.am
1 SUFFIXES = .gperf
2
3 noinst_LIBRARIES = libkconfigparser.a
4
5 libkconfigparser_a_SOURCES = yconf.y
6 dist_EXTRA_libkconfigparser_a_SOURCES =   \
7     hconf.gperf lconf.l                   \
8     confdata.c menu.c symbol.c util.c     \
9     expr.c expr.h lkc.h lkc_proto.h
10
11 BUILT_SOURCES = hconf.c lconf.c
12
13 # Can't use libkconfigparser_a_CPPFLAGS, as it breaks dependencies
14 yconf.o: CPPFLAGS+=$(GETTEXT)
15
16 .gperf.c:
17         $(GPERF) -t --output-file $@ -a -C -E -g -k 1,3,$$ -p -t $<
18
19 # The following rule produces a warning:
20 #   parser/Makefile.am:31: user target `.l.c' defined here...
21 #       /usr/share/automake-1.11/am/lex.am: ... overrides Automake target
22 #       `.l.c' defined here
23 #
24 # This is expected, and can't be avoided (for now).
25 # That's because, when working with lex+yacc sources, the default is to
26 # build each files searately, and then link them together into the final
27 # output. But the Linux kernel's parser simply #include-s the lexer,
28 # so we can't put lconf.l into the _SOURCES (it's in EXTRA_SOURCES),
29 # and thus automake does not catch the need to call lex.
30 # Secondly, when flex is told to change the symbols' prefix (kconfig
31 # uses zconf in lieue of the original yy), then the output file is
32 # also renamed, but automake does not now that, and make would fail
33 # because it would think no file was generated.
34 .l.c:
35         $(LEXCOMPILE) -o$@ $<