1sconfigobj := 2sconfigobj += lex.yy.o 3sconfigobj += sconfig.tab.o 4sconfigobj += main.o 5 6SCONFIGFLAGS += -I$(top)/util/sconfig -I$(objutil)/sconfig 7 8$(objutil)/sconfig: 9 mkdir -p $@ 10 11$(objutil)/sconfig/%.o: util/sconfig/%.c 12 printf " HOSTCC $(subst $(obj)/,,$(@))\n" 13 $(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $< 14 15$(objutil)/sconfig/%.o: $(objutil)/sconfig/%.c 16 printf " HOSTCC $(subst $(obj)/,,$(@))\n" 17 $(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $< 18 19ifdef CONFIG_SCONFIG_GENPARSER 20$(top)/util/sconfig/lex.yy.c_shipped: $(top)/util/sconfig/sconfig.l 21 printf " FLEX $(subst $(top)/,,$(@))\n" 22 flex -L -o $@ $< 23 24# the .c rule also creates .h 25$(top)/util/sconfig/sconfig.tab.h_shipped: $(top)/util/sconfig/sconfig.tab.c_shipped 26$(top)/util/sconfig/sconfig.tab.c_shipped: $(top)/util/sconfig/sconfig.y 27 printf " BISON $(subst $(top)/,,$(@))\n" 28 bison -l --defines=$(top)/util/sconfig/sconfig.tab.h_shipped -o $@ $< 29 30endif 31 32$(objutil)/sconfig/lex.yy.o: $(objutil)/sconfig/sconfig.tab.h 33 34$(objutil)/sconfig/%: $(top)/util/sconfig/%_shipped 35 mkdir -p $(dir $@) 36 cp $< $@ 37 38$(objutil)/sconfig/sconfig: $(objutil)/sconfig $(addprefix $(objutil)/sconfig/,$(sconfigobj)) 39 printf " HOSTCC $(subst $(obj)/,,$(@)) (link)\n" 40 $(HOSTCC) $(SCONFIGFLAGS) -o $@ $(addprefix $(objutil)/sconfig/,$(sconfigobj)) 41

