Index: Makefile
===================================================================
--- Makefile (revision 62)
+++ Makefile (revision 63)
@@ -1,5 +1,5 @@
-COMPONENT_TARGETS = $(HARDWARE_BUILD)
+COMPONENT_TARGETS = $(HARDWARE_BUILD)
include constants.mk
@@ -14,25 +14,38 @@
REQUIRES += build-system/3pp/app/po4a/0.73
REQUIRES += build-system/3pp/app/ruby/3.3.5
REQUIRES += build-system/3pp/app/qemu/9.1.0
-REQUIRES += build-system/3pp/app/llvm/18.1.8
-REQUIRES += build-system/3pp/app/rust/1.82.0
REQUIRES += build-system/progs
# ======= __END_OF_REQUIRES__ =======
+LLVM_VERSION = 18.1.8
+RUST_VERSION = 1.82.0
+
config_makefile = build-config.mk
+llvm_toolchain = .llvm
+rust_toolchain = .rust
-BUILD_TARGETS = $(config_makefile)
+BUILD_TARGETS = $(llvm_toolchain) $(rust_toolchain) $(config_makefile)
-CLEANUP_FILES = $(config_makefile)
-CLEANUP_FILES += $(CURDIR)/sbin
-CLEANUP_FILES += $(CURDIR)/usr
-CLEANUP_FILES += $(CURDIR)/var
+CLEANUP_FILES = $(llvm_toolchain) $(rust_toolchain) $(config_makefile)
+CLEANUP_FILES += $(CURDIR)/sbin
+CLEANUP_FILES += $(CURDIR)/usr
+CLEANUP_FILES += $(CURDIR)/var
+CLEANUP_FILES += $(CURDIR)/3pp/app/llvm/$(LLVM_VERSION)/.[^\.]*
+CLEANUP_FILES += $(CURDIR)/3pp/app/rust/$(RUST_VERSION)/.[^\.]*
# CORE Makefile:
include core.mk
+$(llvm_toolchain):
+ @( $(MAKE) TOOLCHAIN=$(TOOLCHAIN_BUILD_LLVM) HARDWARE=$(HARDWARE_LLVM) FLAVOUR= -C $(CURDIR)/3pp/app/llvm/$(LLVM_VERSION) )
+ @touch $@
+
+$(rust_toolchain):
+ @( $(MAKE) TOOLCHAIN=$(TOOLCHAIN_BUILD_RUST) HARDWARE=$(HARDWARE_RUST) FLAVOUR= -C $(CURDIR)/3pp/app/rust/$(RUST_VERSION) )
+ @touch $@
+
$(config_makefile): $(config_makefile).template
@mkdir -p $(CURDIR)/var/tmp
@echo "Creating $(config_makefile) ..."