Files
low-level-programming/Makefile
2015-10-22 22:30:24 -07:00

49 lines
1.4 KiB
Makefile

gamarjoba: gamarjoba.asm
nasm -f elf64 -o gamarjoba.o gamarjoba.asm
ld -o gamarjoba gamarjoba.o
run_gamarjoba: gamarjoba
./gamarjoba
baremetal_gamarjoba: baremetal_gamarjoba.asm include.c
gcc -m32 -ffreestanding -o include.o -c include.c
nasm -f elf32 baremetal_gamarjoba.asm
ld -m elf_i386 -nostdlib -T linker.ld baremetal_gamarjoba.o include.o -o baremetal_gamarjoba
run_baremetal_gamarjoba: baremetal_gamarjoba
qemu-system-i386 -kernel baremetal_gamarjoba
keyboard: keyboard.asm c_keyboard.c keyboard.rs
gcc -m32 -ffreestanding -o c_keyboard.o -c c_keyboard.c
rustc --emit obj -o rust_keyboard.o --target i686-unknown-linux-gnu keyboard.rs
nasm -f elf32 keyboard.asm
ld -m elf_i386 -nostdlib -T linker.ld keyboard.o c_keyboard.o rust_keyboard.o -o keyboard
run_keyboard: keyboard
qemu-system-i386 -kernel keyboard
run_terminal_keyboard: keyboard
qemu-system-i386 -display curses -kernel keyboard
lightshow: lightshow.asm lightshow.rs
rustc --emit obj -o lightshow_rust.o --target i686-unknown-linux-gnu -g lightshow.rs
nasm -f elf32 -g lightshow.asm
ld -m elf_i386 -nostdlib -T linker.ld lightshow.o lightshow_rust.o -o lightshow
run_lightshow: lightshow
qemu-system-i386 -kernel lightshow
debug_lightshow: lightshow
qemu-system-i386 -kernel lightshow -gdb tcp::9999 -S
.PHONY: clean
clean:
rm -f *.o
rm -f gamarjoba
rm -f baremetal_gamarjoba
rm -f keyboard
rm -f lightshow