2025-02-05 13:24:50 +01:00
|
|
|
require 'pathname'
|
|
|
|
require 'rake/clean'
|
|
|
|
require_relative 'rakelib/shared'
|
|
|
|
|
|
|
|
CLOBBER.include TMP
|
|
|
|
|
|
|
|
task :default do
|
|
|
|
sh 'make -C build'
|
|
|
|
sh './build/bin/elna'
|
|
|
|
end
|
|
|
|
|
|
|
|
desc 'Build the bootstrap compiler'
|
|
|
|
task :boot do
|
2025-01-03 22:18:35 +01:00
|
|
|
# MacOS:
|
|
|
|
# ---
|
|
|
|
# CC=gcc-14 CXX=g++-14 \
|
|
|
|
# CFLAGS="-I/opt/homebrew/Cellar/flex/2.6.4_2/include" \
|
|
|
|
# CXXFLAGS="-I/opt/homebrew/Cellar/flex/2.6.4_2/include" \
|
|
|
|
# ../gcc-14.2.0/configure \
|
|
|
|
# --disable-bootstrap \
|
|
|
|
# --enable-languages=c,c++,elna \
|
|
|
|
# --with-sysroot=/Library/Developer/CommandLineTools/SDKs/MacOSX15.2.sdk \
|
|
|
|
# --prefix=$(realpath ../gcc-install)
|
2025-02-05 13:24:50 +01:00
|
|
|
end
|
2025-01-03 22:18:35 +01:00
|
|
|
|
2025-02-05 13:24:50 +01:00
|
|
|
desc 'Build cross toolchain'
|
|
|
|
task :cross, [:target] do |_, args|
|
|
|
|
args.with_defaults target: 'riscv32-unknown-linux-gnu'
|
|
|
|
|
|
|
|
Rake::Task['cross:binutils'].invoke args[:target]
|
|
|
|
Rake::Task['cross:gcc1'].invoke args[:target]
|
|
|
|
Rake::Task['cross:headers'].invoke args[:target]
|
|
|
|
Rake::Task['cross:kernel'].invoke args[:target]
|
|
|
|
Rake::Task['cross:glibc'].invoke args[:target]
|
|
|
|
Rake::Task['cross:gcc2'].invoke args[:target]
|
|
|
|
Rake::Task['cross:init'].invoke args[:target]
|
2024-12-21 14:05:27 +01:00
|
|
|
end
|