diff --git a/Makefile b/Makefile index 24cb6be85e..78a89f6830 100644 --- a/Makefile +++ b/Makefile @@ -181,8 +181,7 @@ $(if $(BASE_DIR),, $(error output directory "$(O)" does not exist)) BR2_EXTERNAL_FILE = $(BASE_DIR)/.br2-external.mk -include $(BR2_EXTERNAL_FILE) -$(shell support/scripts/br2-external \ - -m -o '$(BR2_EXTERNAL_FILE)' $(BR2_EXTERNAL)) +$(shell support/scripts/br2-external -d '$(BASE_DIR)' $(BR2_EXTERNAL)) BR2_EXTERNAL_ERROR = include $(BR2_EXTERNAL_FILE) ifneq ($(BR2_EXTERNAL_ERROR),) @@ -934,7 +933,7 @@ HOSTCFLAGS = $(CFLAGS_FOR_BUILD) export HOSTCFLAGS .PHONY: prepare-kconfig -prepare-kconfig: outputmakefile $(BASE_DIR)/.br2-external.in +prepare-kconfig: outputmakefile $(BUILD_DIR)/buildroot-config/%onf: mkdir -p $(@D)/lxdialog @@ -1031,13 +1030,6 @@ ifeq ($(NEED_WRAPPER),y) $(Q)$(TOPDIR)/support/scripts/mkmakefile $(TOPDIR) $(O) endif -# Even though the target is a real file, we mark it as PHONY as we -# want it to be re-generated each time make is invoked, in case the -# value of BR2_EXTERNAL is changed. -.PHONY: $(BASE_DIR)/.br2-external.in -$(BASE_DIR)/.br2-external.in: $(BUILD_DIR) - $(Q)support/scripts/br2-external -k -o "$(@)" $(BR2_EXTERNAL) - # printvars prints all the variables currently defined in our # Makefiles. Alternatively, if a non-empty VARS variable is passed, # only the variables matching the make pattern passed in VARS are diff --git a/support/scripts/br2-external b/support/scripts/br2-external index 26a5d230ab..1840cc937b 100755 --- a/support/scripts/br2-external +++ b/support/scripts/br2-external @@ -14,13 +14,11 @@ MANUAL_URL='https://buildroot.org/manual.html\#br2-external-converting' main() { local OPT OPTARG - local br2_ext ofile ofmt + local br2_ext outputdir - while getopts :kmo: OPT; do + while getopts :d: OPT; do case "${OPT}" in - o) ofile="${OPTARG}";; - k) ofmt="kconfig";; - m) ofmt="mk";; + d) outputdir="${OPTARG}";; :) error "option '%s' expects a mandatory argument\n" "${OPTARG}";; \?) error "unknown option '%s'\n" "${OPTARG}";; esac @@ -28,23 +26,18 @@ main() { # Forget options; keep only positional args shift $((OPTIND-1)) - case "${ofmt}" in - mk|kconfig) - ;; - *) error "no output format specified (-m/-k)\n";; - esac - if [ -z "${ofile}" ]; then - error "no output file specified (-o)\n" + if [ -z "${outputdir}" ]; then + error "no output directory specified (-d)\n" fi - exec >"${ofile}" - # Trap any unexpected error to generate a meaningful error message trap "error 'unexpected error while generating ${ofile}\n'" ERR do_validate ${@//:/ } - do_${ofmt} + mkdir -p "${outputdir}" + do_mk >"${outputdir}/.br2-external.mk" + do_kconfig >"${outputdir}/.br2-external.in" } # Validates the br2-external trees passed as arguments. Makes each of