build kernel .size file on build
This commit is contained in:
parent
87c135b010
commit
aa28284187
18
Rsconscript
18
Rsconscript
@ -109,6 +109,19 @@ EOF
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class Size < Builder
|
||||||
|
def run(options)
|
||||||
|
if @command
|
||||||
|
finalize_command
|
||||||
|
else
|
||||||
|
@vars["_SOURCES"] = @sources
|
||||||
|
@vars["_TARGET"] = @target
|
||||||
|
command = @env.build_command(%w[${SIZE} ${_SOURCES}], @vars)
|
||||||
|
standard_command("Size <target>#{@target}<reset>", command, stdout: @target)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# FontGen Environment
|
# FontGen Environment
|
||||||
Environment.new(use: "freetype") do |env|
|
Environment.new(use: "freetype") do |env|
|
||||||
env["CC"] = "gcc"
|
env["CC"] = "gcc"
|
||||||
@ -120,16 +133,19 @@ EOF
|
|||||||
env.add_builder(EfiImage)
|
env.add_builder(EfiImage)
|
||||||
env.add_builder(BiosImage)
|
env.add_builder(BiosImage)
|
||||||
env.add_builder(FontGen)
|
env.add_builder(FontGen)
|
||||||
|
env.add_builder(Size)
|
||||||
|
env["OBJDUMP"] = "i686-elf-objdump"
|
||||||
|
env["SIZE"] = "i686-elf-size"
|
||||||
env["CCFLAGS"] += %w[-ffreestanding -Wall -O2]
|
env["CCFLAGS"] += %w[-ffreestanding -Wall -O2]
|
||||||
env["LDFLAGS"] += %w[-ffreestanding -nostdlib -T src/link.ld]
|
env["LDFLAGS"] += %w[-ffreestanding -nostdlib -T src/link.ld]
|
||||||
env["LDFLAGS"] += %W[-Wl,-Map,${_TARGET}.map]
|
env["LDFLAGS"] += %W[-Wl,-Map,${_TARGET}.map]
|
||||||
env["LIBS"] += %w[gcc]
|
env["LIBS"] += %w[gcc]
|
||||||
env["OBJDUMP"] = "i686-elf-objdump"
|
|
||||||
env.FontGen("^/kfont/kfont.c", "font/Hack-Regular.ttf")
|
env.FontGen("^/kfont/kfont.c", "font/Hack-Regular.ttf")
|
||||||
env["CPPPATH"] += ["#{env.build_root}/kfont"]
|
env["CPPPATH"] += ["#{env.build_root}/kfont"]
|
||||||
env.Program("^/hos.elf", glob("src/**/*.{S,c}") + ["^/kfont/kfont.c"])
|
env.Program("^/hos.elf", glob("src/**/*.{S,c}") + ["^/kfont/kfont.c"])
|
||||||
env.depends("#{env.build_root}/hos.elf", "src/link.ld")
|
env.depends("#{env.build_root}/hos.elf", "src/link.ld")
|
||||||
env.Disassemble("^/hos.elf.txt", "^/hos.elf")
|
env.Disassemble("^/hos.elf.txt", "^/hos.elf")
|
||||||
|
env.Size("^/hos.elf.size", "^/hos.elf")
|
||||||
env.EfiImage("build/hos-efi.img", %w[^/hos.elf])
|
env.EfiImage("build/hos-efi.img", %w[^/hos.elf])
|
||||||
env.BiosImage("build/hos.img", %w[^/hos.elf])
|
env.BiosImage("build/hos.img", %w[^/hos.elf])
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user