Build utils into their source directory equivalent in
[coreboot.git] / util / sconfig / Makefile.inc
1 sconfigobj :=
2 sconfigobj += lex.yy.o
3 sconfigobj += sconfig.tab.o
4
5 $(objutil)/sconfig:
6         mkdir -p $@
7
8 $(objutil)/sconfig/%.o: $(objutil)/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 -L -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 -l --defines=$(top)/util/sconfig/sconfig.tab.h_shipped -o $@ $<
20
21 endif
22
23 $(objutil)/sconfig/lex.yy.o: $(objutil)/sconfig/sconfig.tab.h
24
25 $(objutil)/sconfig/%: $(top)/util/sconfig/%_shipped
26         mkdir -p $(dir $@)
27         cp $< $@
28
29 $(objutil)/sconfig/sconfig: $(objutil)/sconfig $(addprefix $(objutil)/sconfig/,$(sconfigobj))
30         printf "    HOSTCC     $(subst $(obj)/,,$(@)) (link)\n"
31         $(HOSTCC) $(SCONFIGFLAGS) -o $@ $(addprefix $(objutil)/sconfig/,$(sconfigobj))