**This is an old revision of the document!** ----
June 22: One of the things I had neglected to do was automating testing. So, I decided to do that: * In src/config/defaults/pcbios.h: changed #define CONSOLE_PCBIOS to #define CONSOLE_SERIAL * make * qemu -tftp . -cdrom bin/gpxe.iso -bootp /tests//arith_test.gpxe -serial stdio > result * Make sure the file generated gives the expected output. This can then be used to compare the output of the test script after changes have been made After this, I started implementing the if-else branch. Since this includes defining new commands, I had to find out how it was done: struct command if_command __command = { .name = "if", .exec = if_exec, }; Also, added this in src/core/config.c #ifdef IF_CMD REQUIRE_OBJECT ( if_cmd ); #endif and this in src/config/general.h #define IF_CMD This tells the linker to link in the code that implements the if command, present in if_cmd.c. The conditional linking is a pretty cool idea.