summaryrefslogtreecommitdiff
path: root/util/kconfig/Makefile.inc
diff options
context:
space:
mode:
Diffstat (limited to 'util/kconfig/Makefile.inc')
-rw-r--r--util/kconfig/Makefile.inc13
1 files changed, 13 insertions, 0 deletions
diff --git a/util/kconfig/Makefile.inc b/util/kconfig/Makefile.inc
index 9277b516ee..36678daf64 100644
--- a/util/kconfig/Makefile.inc
+++ b/util/kconfig/Makefile.inc
@@ -60,12 +60,25 @@ endef
$(foreach prog,$(hostprogs),$(eval $(call hostprogs_template,$(prog))))
+# This might be a bit of a chicken & egg problem, using a kconfig flag when
+# building kconfig, but if you're messing with the parser you probably know
+# what you're doing: make CONFIG_UTIL_GENPARSER=y
+ifeq ($(CONFIG_UTIL_GENPARSER),y)
$(objk)/%.tab.c $(objk)/%.tab.h: $(srck)/%.y
bison -t -l --defines -b $(objk)/$* $<
$(objk)/%.lex.c: $(srck)/%.l
flex -L -o$@ $<
+else # !CONFIG_UTIL_GENPARSER
+
+$(objk)/parser.tab.c: | $(objk)/parser.tab.h
+
+$(objk)/%: $(srck)/%_shipped
+ cp $< $@
+
+endif
+
# Support mingw by shipping our own regex implementation
_OS=$(shell uname -s |cut -c-7)
regex-objs=