tools/llvm-bpf: make sure llvm-bpf.tar.gz is created
authorHuangbin Zhan <zhanhb88@gmail.com>
Thu, 18 Nov 2021 11:37:10 +0000 (19:37 +0800)
committerFelix Fietkau <nbd@nbd.name>
Sun, 21 Nov 2021 12:47:18 +0000 (13:47 +0100)
The llvm-bpf-$version.tar.xz might be absent. For example `make clean` executed, CONFIG_TARGET changed.
This commit can only guarantee that the target file can be built when tools/compile is explicitly called rather than $(tools/stamp-compile).

Signed-off-by: Huangbin Zhan <zhanhb88@gmail.com>
tools/llvm-bpf/Makefile

index a9fcc0449587fe2ce6a6e8a3b4b2e1d2011b3460..4b4e67e201627e5af0db521ad8a5af837f4e03e7 100644 (file)
@@ -41,21 +41,22 @@ CMAKE_HOST_OPTIONS += \
        -DLLVM_TOOLCHAIN_TOOLS="llvm-objcopy;llvm-objdump;llvm-readelf;llvm-strip;llvm-ar;llvm-as;llvm-dis;llvm-link;llvm-nm;llvm-ranlib;llc;opt" \
        -DCMAKE_SKIP_RPATH=OFF
 
-ifneq ($(CONFIG_SDK_LLVM_BPF),)
-  define Host/Install/Bin
+$(BIN_DIR)/llvm-bpf-$(PKG_VERSION).tar.xz: $(HOST_STAMP_INSTALLED)
        echo "$(PKG_VERSION)" > $(CMAKE_HOST_INSTALL_PREFIX)/.llvm-version
        STRIP_KMOD= PATCHELF= STRIP=strip $(SCRIPT_DIR)/rstrip.sh $(STAGING_DIR_HOST)/llvm-bpf
        tar -C $(STAGING_DIR_HOST) \
                -I '$(STAGING_DIR_HOST)/bin/xz -7e -T$(if $(filter 1,$(NPROC)),2,0)' \
-               -cf $(BIN_DIR)/llvm-bpf-$(PKG_VERSION).tar.xz llvm-bpf $(LLVM_BPF_PREFIX)
-  endef
+               -cf $@.tmp llvm-bpf $(LLVM_BPF_PREFIX)
+       mv $@.tmp $@
+
+ifneq ($(CONFIG_SDK_LLVM_BPF),)
+compile: $(BIN_DIR)/llvm-bpf-$(PKG_VERSION).tar.xz
 endif
 
 define Host/Install
        rm -rf $(STAGING_DIR_HOST)/llvm-bpf*
        $(Host/Install/Default)
        ln -s $(LLVM_BPF_PREFIX) $(STAGING_DIR_HOST)/llvm-bpf
-       $(Host/Install/Bin)
 endef
 
 define Host/Uninstall