diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 22 |
1 files changed, 14 insertions, 8 deletions
@@ -7,6 +7,7 @@ ISO_NAME=os_image.iso CC=cc LD=ld +AS=nasm CFLAGS+=-std=c2x -ffreestanding -fno-stack-protector -g -Wall -Wextra -pedantic -lgcc -isystem $(INCLUDE_DIR) CFLAGS+=-DPAGE_SIZE=4096 @@ -27,29 +28,34 @@ A_OBJ=$(patsubst %.S,$(BUILD_DIR)/%.S.o,$(A_SRC)) all: $(BUILD_DIR)/$(ISO_NAME) clean: - rm -rf $(BUILD_DIR)/* + @printf "\033[31m RM \033[0m%s\n" $(BUILD_DIR) + @rm -rf $(BUILD_DIR)/* $(A_OBJ): $(BUILD_DIR)/%.S.o : %.S @mkdir -p $(@D) - nasm $< -f elf64 -o $@ + @printf "\033[33m AS \033[0m%s\n" $< + @nasm $< -f elf64 -o $@ $(C_OBJ): $(BUILD_DIR)/%.o : %.c @mkdir -p $(@D) - $(CC) -c $(CFLAGS) -o $@ $< + @printf "\033[34m CC \033[0m%s\n" $< + @$(CC) -c $(CFLAGS) -o $@ $< $(BUILD_DIR)/$(K_BIN_NAME): arch/amd64/linker.ld $(A_OBJ) $(C_OBJ) $(H_SRC) $(H_INCLUDE) @mkdir -p $(@D) - $(LD) $(LDFLAGS) -T arch/amd64/linker.ld -o $(BUILD_DIR)/$(K_BIN_NAME) $(A_OBJ) $(C_OBJ) + @printf "\033[32m LD \033[0m%s\n" $@ + @$(LD) $(LDFLAGS) --no-warn-rwx-segments -T arch/amd64/linker.ld -o $(BUILD_DIR)/$(K_BIN_NAME) $(A_OBJ) $(C_OBJ) $(BUILD_DIR)/$(ISO_NAME): $(BUILD_DIR)/$(K_BIN_NAME) grub.cfg @mkdir -p $(@D) @mkdir -p $(BUILD_DIR)/iso/boot/grub - cp grub.cfg $(BUILD_DIR)/iso/boot/grub - cp $(BUILD_DIR)/$(K_BIN_NAME) $(BUILD_DIR)/iso/boot - grub-mkrescue -o $(BUILD_DIR)/$(ISO_NAME) $(BUILD_DIR)/iso + @cp grub.cfg $(BUILD_DIR)/iso/boot/grub + @cp $(BUILD_DIR)/$(K_BIN_NAME) $(BUILD_DIR)/iso/boot + @printf "\033[35m ISO \033[0m%s\n" $(BUILD_DIR)/$(ISO_NAME) + @grub-mkrescue -o $(BUILD_DIR)/$(ISO_NAME) $(BUILD_DIR)/iso 2> /dev/null run: all - qemu-system-x86_64 \ + @qemu-system-x86_64 \ -cdrom $(BUILD_DIR)/$(ISO_NAME) \ -serial stdio \ -display gtk,show-menubar=off,zoom-to-fit=on \ |