Radix cross Linux Build System

Cross-platform build system is designed to build distributions of different operating systems for a set of target devices

74 Commits   2 Branches   2 Tags

COMPONENT_TARGETS  = $(HARDWARE_BUILD)

include constants.mk

REQUIRES  = build-system/3pp/app/pkgtools/0.2.2
REQUIRES += build-system/3pp/app/automake/1.17
REQUIRES += build-system/3pp/app/genext2fs/1.4.1
REQUIRES += build-system/3pp/app/populatefs/1.1
REQUIRES += build-system/3pp/app/jsmin/0.0.1
REQUIRES += build-system/3pp/app/scdoc/1.11.3
REQUIRES += build-system/3pp/app/fakeroot/1.31
REQUIRES += build-system/3pp/app/python3-modules/pip/25.0.1
REQUIRES += build-system/3pp/app/perl/5.40.1
REQUIRES += build-system/3pp/app/po4a/0.73
REQUIRES += build-system/3pp/app/ruby/3.4.2
REQUIRES += build-system/3pp/app/qemu/9.1.0
REQUIRES += build-system/progs

# ======= __END_OF_REQUIRES__ =======

LLVM_VERSION    = 19.1.7
RUST_VERSION    = 1.85.0

config_makefile = build-config.mk
llvm_toolchain  = .llvm
rust_toolchain  = .rust

BUILD_TARGETS   = $(llvm_toolchain) $(rust_toolchain) $(config_makefile)

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) ..."
	@cp $(config_makefile).template $@