aboutsummaryrefslogtreecommitdiff
path: root/build.zig
diff options
context:
space:
mode:
Diffstat (limited to 'build.zig')
-rw-r--r--build.zig48
1 files changed, 14 insertions, 34 deletions
diff --git a/build.zig b/build.zig
index d587a4b..e8a2fb7 100644
--- a/build.zig
+++ b/build.zig
@@ -1,25 +1,19 @@
const std = @import("std");
-// ═══════════════════════════════════════════════════════════════════════════
-// AkibaOS Build System
-// ═══════════════════════════════════════════════════════════════════════════
-
pub const version = "1.0.0";
pub const kernel_location = "/system/akiba/mirai.kernel";
pub const font_location = "/system/akiba/fonts/akiba.psf";
pub fn build(b: *std.Build) void {
- // ═══════════════════════════════════════════════════════════════════════
- // Hikari Bootloader (UEFI)
- // ═══════════════════════════════════════════════════════════════════════
+ const hikari_target = b.resolveTargetQuery(.{
+ .cpu_arch = .x86_64,
+ .os_tag = .uefi,
+ .abi = .msvc,
+ });
const hikari_module = b.createModule(.{
.root_source_file = b.path("hikari/hikari.zig"),
- .target = b.resolveTargetQuery(.{
- .cpu_arch = .x86_64,
- .os_tag = .uefi,
- .abi = .msvc,
- }),
+ .target = hikari_target,
.optimize = .ReleaseSafe,
});
@@ -37,17 +31,15 @@ pub fn build(b: *std.Build) void {
const hikari_step = b.step("hikari", "Build Hikari bootloader");
hikari_step.dependOn(&hikari_copy.step);
- // ═══════════════════════════════════════════════════════════════════════
- // Mirai Kernel
- // ═══════════════════════════════════════════════════════════════════════
+ const mirai_target = b.resolveTargetQuery(.{
+ .cpu_arch = .x86_64,
+ .os_tag = .freestanding,
+ .abi = .none,
+ });
const mirai_module = b.createModule(.{
- .root_source_file = b.path("mirai/kernel/mirai.zig"),
- .target = b.resolveTargetQuery(.{
- .cpu_arch = .x86_64,
- .os_tag = .freestanding,
- .abi = .none,
- }),
+ .root_source_file = b.path("mirai/mirai.zig"),
+ .target = mirai_target,
.optimize = .ReleaseSafe,
.code_model = .kernel,
});
@@ -57,7 +49,7 @@ pub fn build(b: *std.Build) void {
.root_module = mirai_module,
});
- mirai.entry = .{ .symbol_name = "mirai" };
+ mirai.entry = .{ .symbol_name = "mirai_entry" };
mirai.setLinkerScript(b.path("linker/mirai.linker"));
const mirai_copy = b.addInstallFile(
@@ -69,10 +61,6 @@ pub fn build(b: *std.Build) void {
const mirai_step = b.step("mirai", "Build Mirai kernel");
mirai_step.dependOn(&mirai_copy.step);
- // ═══════════════════════════════════════════════════════════════════════
- // mkafsdisk Tool
- // ═══════════════════════════════════════════════════════════════════════
-
const native_target = b.standardTargetOptions(.{});
const native_optimize = b.standardOptimizeOption(.{});
@@ -92,10 +80,6 @@ pub fn build(b: *std.Build) void {
const mkafsdisk_step = b.step("mkafsdisk", "Build mkafsdisk tool");
mkafsdisk_step.dependOn(&mkafsdisk_install.step);
- // ═══════════════════════════════════════════════════════════════════════
- // Default: Build All
- // ═══════════════════════════════════════════════════════════════════════
-
const all_step = b.step("all", "Build everything");
all_step.dependOn(&hikari_copy.step);
all_step.dependOn(&mirai_copy.step);
@@ -103,10 +87,6 @@ pub fn build(b: *std.Build) void {
b.default_step = all_step;
- // ═══════════════════════════════════════════════════════════════════════
- // Clean Step
- // ═══════════════════════════════════════════════════════════════════════
-
const clean_step = b.step("clean", "Remove build artifacts");
clean_step.dependOn(&b.addRemoveDirTree(b.path("zig-out")).step);
clean_step.dependOn(&b.addRemoveDirTree(b.path(".zig-cache")).step);