
Currently, `build/bootloader` is the first make target being executed during `make all`. However, after a clean checkout, the `build` directory does not yet exist. Create it accordingly.
23 lines
804 B
Makefile
23 lines
804 B
Makefile
build/bootloader: bootloader/$(ARCH)/**
|
|
mkdir -p build
|
|
nasm -f bin -o $@ -D ARCH_$(ARCH) -ibootloader/$(ARCH)/ bootloader/$(ARCH)/disk.asm
|
|
|
|
build/harddrive.bin: build/filesystem.bin bootloader/$(ARCH)/**
|
|
nasm -f bin -o $@ -D ARCH_$(ARCH) -D FILESYSTEM=$< -ibootloader/$(ARCH)/ bootloader/$(ARCH)/disk.asm
|
|
|
|
build/livedisk.bin: build/kernel_live bootloader/$(ARCH)/**
|
|
nasm -f bin -o $@ -D ARCH_$(ARCH) -D KERNEL=$< -ibootloader/$(ARCH)/ bootloader/$(ARCH)/disk.asm
|
|
|
|
build/%.bin.gz: build/%.bin
|
|
gzip -k -f $<
|
|
|
|
build/livedisk.iso: build/livedisk.bin.gz
|
|
rm -rf build/iso/
|
|
mkdir -p build/iso/
|
|
cp -RL isolinux build/iso/
|
|
cp $< build/iso/livedisk.gz
|
|
genisoimage -o $@ -b isolinux/isolinux.bin -c isolinux/boot.cat \
|
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
|
build/iso/
|
|
isohybrid $@
|