mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
19aae949c6
If a Makefile defines some packages with VARIANT set, and others without it, the latter will be built once for every different VARIANT set, each build trumping the previous one. Avoid rebuilds by only building unnamed variant packages when the first variant is built. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
42 lines
1.2 KiB
Makefile
42 lines
1.2 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Copyright (C) 2007-2020 OpenWrt.org
|
|
|
|
ifeq ($(DUMP),)
|
|
define BuildTarget/bin
|
|
TARGET_VARIANT=$(if $(ALL_VARIANTS),$(if $(VARIANT),$(VARIANT),$(firstword $(ALL_VARIANTS))))
|
|
ifeq ($(if $(TARGET_VARIANT),$(BUILD_VARIANT)),$(TARGET_VARIANT))
|
|
ifdef Package/$(1)/install
|
|
ifneq ($(CONFIG_PACKAGE_$(1))$(DEVELOPER),)
|
|
$(_pkg_target)compile: $(PKG_BUILD_DIR)/.pkgdir/$(1).installed
|
|
compile: install-bin-$(1)
|
|
else
|
|
compile: $(1)-disabled
|
|
$(1)-disabled:
|
|
@echo "WARNING: skipping $(1) -- package not selected" >&2
|
|
endif
|
|
endif
|
|
endif
|
|
|
|
$(PKG_BUILD_DIR)/.pkgdir/$(1).installed: $(STAMP_BUILT)
|
|
rm -rf $(PKG_BUILD_DIR)/.pkgdir/$(1) $$@
|
|
mkdir -p $(PKG_BUILD_DIR)/.pkgdir/$(1)
|
|
$(call Package/$(1)/install,$(PKG_BUILD_DIR)/.pkgdir/$(1))
|
|
touch $$@
|
|
|
|
install-bin-$(1): $(PKG_BUILD_DIR)/.pkgdir/$(1).installed
|
|
rm -rf $(BIN_DIR)/$(1)
|
|
-rmdir $(PKG_BUILD_DIR)/.pkgdir/$(1) >/dev/null 2>/dev/null
|
|
if [ -d $(PKG_BUILD_DIR)/.pkgdir/$(1) ]; then \
|
|
$(INSTALL_DIR) $(BIN_DIR)/$(1) && \
|
|
$(CP) $(PKG_BUILD_DIR)/.pkgdir/$(1)/. $(BIN_DIR)/$(1)/; \
|
|
fi
|
|
|
|
clean-$(1):
|
|
rm -rf $(BIN_DIR)/$(1)
|
|
|
|
clean: clean-$(1)
|
|
.PHONY: install-bin-$(1)
|
|
endef
|
|
endif
|