123456789101112131415161718192021222324252627282930313233343536 |
- BUILD_DIR=build
- MBR_NAME=$(BUILD_DIR)/mbr.bin
- BOOT_IMAGE_NAME=$(BUILD_DIR)/boot.img
- BOOT_SOURCE=src/boot.s
- AS=as
- CC=gcc
- DD=dd
- LD=ld
- $(BOOT_IMAGE_NAME): $(MBR_NAME)
- $(DD) if=$(MBR_NAME) of=$(BOOT_IMAGE_NAME)
- $(DD) if=/dev/zero of=$(BOOT_IMAGE_NAME) seek=1 bs=512 count=2879
- $(MBR_NAME): $(BUILD_DIR)/boot.o
- $(LD) -t ldscript.ld $(BUILD_DIR)/boot.o -o $(MBR_NAME) --oformat=binary
- $(BUILD_DIR)/boot.o: $(BOOT_SOURCE)
- $(AS) $< -o $@
- %.o: %.s
- $(AS) $< -o $(BUILD_DIR)/$@
- %.o: %.c
- $(CC) -c $< -o $(BUILD_DIR)/$@
- .PHONY: run
- run: $(BOOT_IMAGE_NAME)
- -bochs -f bochs.conf
- .PHONY: clean
- clean:
- -rm $(BUILD_DIR)/*.o
- -rm $(MBR_NAME)
- -rm $(BOOT_IMAGE_NAME)
|