mirror of
https://github.com/justinian/jsix.git
synced 2025-12-09 16:04:32 -08:00
CDB seemed to be too simple for the needs of init, and squashfs is too laden with design choices to work around Linux's APIs. This commit adds creation of an initrd image of a new format I've called `j6romfs`. Note that this commit currently does not work! The initrd-reading code still needs to be added.
86 lines
2.2 KiB
Plaintext
86 lines
2.2 KiB
Plaintext
# This file is automatically generated by bonnibel
|
|
|
|
rule compile.c
|
|
command = $cc -MMD -MF $out.d $cflags $ccflags -o $out -c $in
|
|
description = Compiling $name
|
|
depfile = $out.d
|
|
deps = gcc
|
|
|
|
rule dump_c_defs
|
|
command = echo | $cc $ccflags $cflags -dM -E - > $out
|
|
description = Dumping C defines for $target
|
|
|
|
rule dump_c_run
|
|
command = echo '#!/bin/bash' > $out; echo '$cc $ccflags $cflags $$*' >> $
|
|
$out; chmod a+x $out
|
|
description = Dumping C arguments for $target
|
|
|
|
rule compile.cpp
|
|
command = $cxx -MMD -MF $out.d $cxxflags $ccflags -o $out -c $in
|
|
description = Compiling $name
|
|
depfile = $out.d
|
|
deps = gcc
|
|
|
|
rule dump_cpp_defs
|
|
command = echo | $cxx -x c++ $ccflags $cxxflags -dM -E - > $out
|
|
description = Dumping C++ defines for $target
|
|
|
|
rule dump_cpp_run
|
|
command = echo '#!/bin/bash' > $out; echo '$cxx $ccflags $cxxflags $$*' $
|
|
>> $out; chmod a+x $out
|
|
description = Dumping C++ arguments for $target
|
|
|
|
rule compile.s
|
|
command = $nasm -o $out -felf64 -MD $out.d $asflags $in
|
|
description = Assembling $name
|
|
depfile = $out.d
|
|
deps = gcc
|
|
|
|
rule parse.cog
|
|
command = cog -o $out -d -D target=$target $cogflags $in
|
|
description = Parsing $name
|
|
|
|
rule exe
|
|
command = $ld $ldflags -o $out $in $libs
|
|
description = Linking $name
|
|
|
|
rule lib
|
|
command = $ar qcs $out $in
|
|
description = Archiving $name
|
|
|
|
rule cp
|
|
command = cp $in $out
|
|
description = Copying $name
|
|
|
|
rule dump
|
|
command = objdump -DSC -M intel $in > $out
|
|
description = Dumping decompiled $name
|
|
|
|
rule makest
|
|
description = Making symbol table
|
|
command = nm -n -S --demangle $in | ${source_root}/scripts/build_symbol_table.py $out
|
|
|
|
rule makeinitrd
|
|
description = Creating $name
|
|
command = ${source_root}/scripts/mkj6romfs.py -c $format $in $out
|
|
|
|
rule makefat
|
|
description = Creating $name
|
|
command = $
|
|
cp $in $out; $
|
|
mcopy -s -D o -i $out@@1M ${build_root}/fatroot/* ::/
|
|
|
|
rule strip
|
|
description = Stripping $name
|
|
command = $
|
|
cp $in $out; $
|
|
objcopy --only-keep-debug $out $debug; $
|
|
strip -g $out; $
|
|
objcopy --add-gnu-debuglink=$debug $out
|
|
|
|
rule touch
|
|
command = touch $out
|
|
|
|
rule compdb
|
|
command = ninja -t compdb > $out
|