Files
low-level-programming/rust_experiments/Makefile

37 lines
689 B
Makefile
Raw Normal View History

2015-11-07 15:40:29 -08:00
arch ?= x86-64
linker_script := src/linker.ld
grub_cfg := src/grub.cfg
kernel := kernel.bin
iso := os.iso
asm_source := $(wildcard src/*.asm)
asm_object := $(patsubst src/%.asm, \
%.o, $(asm_source))
.PHONY: all clean run iso
all: $(kernel)
run: $(iso)
@qemu-system-x86_64 -hda $(iso)
2015-11-07 16:43:43 -08:00
$(iso): $(kernel) $(grub_cfg)
2015-11-07 15:40:29 -08:00
@mkdir -p isofiles/boot/grub
@cp $(kernel) isofiles/boot/kernel.bin
@cp $(grub_cfg) isofiles/boot/grub
@grub-mkrescue -o $(iso) isofiles 2> /dev/null
$(kernel): $(asm_object) $(linker_script)
@ld -n -T $(linker_script) -o $(kernel) $(asm_object)
%.o: src/%.asm
@nasm -f elf64 $< -o $@
clean:
@rm -rf isofiles
@rm -f *.o
@rm -f kernel.bin
2015-11-07 15:50:50 -08:00
@rm -f os.iso