Replace sconfig with a C implementation.
[coreboot.git] / util / sconfig / Makefile.inc
1 sconfigobj :=
2 sconfigobj += lex.yy.o
3 sconfigobj += sconfig.tab.o
4
5 $(obj)/util/sconfig:
6         mkdir -p $@
7
8 $(obj)/util/sconfig/%.o: $(obj)/util/sconfig/%.c
9         printf "    HOSTCC     $(subst $(obj)/,,$(@))\n"
10         $(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $<
11
12 ifdef SCONFIG_GENPARSER
13 $(top)/util/sconfig/lex.yy.c_shipped: $(top)/util/sconfig/sconfig.l
14         flex -o $@ $<
15
16 # the .c rule also creates .h
17 $(top)/util/sconfig/sconfig.tab.h_shipped: $(top)/util/sconfig/sconfig.tab.c_shipped
18 $(top)/util/sconfig/sconfig.tab.c_shipped: $(top)/util/sconfig/sconfig.y
19         bison --defines=$(top)/util/sconfig/sconfig.tab.h_shipped -o $@ $<
20
21 endif
22
23 $(obj)/util/sconfig/lex.yy.o: $(obj)/util/sconfig/sconfig.tab.h
24
25 $(obj)/util/sconfig/%: $(top)/util/sconfig/%_shipped
26         cp $< $@
27
28 $(obj)/util/sconfig/sconfig: $(obj)/util/sconfig $(addprefix $(obj)/util/sconfig/,$(sconfigobj))
29         printf "    HOSTCXX    $(subst $(obj)/,,$(@)) (link)\n"
30         $(HOSTCXX) $(SCONFIGFLAGS) -o $@ $(addprefix $(obj)/util/sconfig/,$(sconfigobj))