#CXXFLAGS = -O2 -g -Wall -fmessage-length=0 # #BINS = Boot.bin Kernel.bin #TARGET = $(OS_NAME).iso # #OS_NAME = TryOS # # # #MODE = # ビルド構成 BUILD_CONFIG = Debug # 全般 OS_NAME = TryOS TARGET = $(OS_NAME).iso # Boot BOOT_NAME = TryBoot BOOT_DIR = ../../Boot/ BOOT_IMG_NAME = $(BOOT_NAME).img BOOT_IMG_PATH = $(BOOT_DIR)$(BUILD_CONFIG)/$(BOOT_IMG_NAME) BOOT_LOAD_SEGMENT = 0x0100 BOOT_LOAD_SIZE = 4 # Kernel KERNEL_NAME = TryKernel KERNEL_DIR = ../../Kernel/ KERNEL_IMG_NAME = $(KERNEL_NAME).img KERNEL_IMG_PATH = $(KERNEL_DIR)$(BUILD_CONFIG)/$(KERNEL_IMG_NAME) # CLib # TODO CLib関連の定義 # API # TODO API関連の定義 # ISOFSファイルツリー ISO_PATH_ROOT = ../ISORoot/ ISO_PATH_OS_DIR = $(ISO_PATH_ROOT)$(OS_NAME)/ ISO_PATH_BOOT_DIR = $(ISO_PATH_OS_DIR)Boot/ ISO_PATH_BOOT_IMG = $(ISO_PATH_BOOT_DIR)$(BOOT_IMG_NAME) ISO_PATH_KERNEL_DIR = $(ISO_PATH_OS_DIR)Kernel/ ISO_PATH_KERNEL_IMG = $(ISO_PATH_KERNEL_DIR)$(KERNEL_IMG_NAME) ISO_PATH_APPS_DIR = $(ISO_PATH_ROOT)Apps/ # ISO 9660ファイルシステムのイメージ作成オプション MKISOFS_OPTIONS += -b $(OS_NAME)/Boot/$(BOOT_IMG_NAME) MKISOFS_OPTIONS += -no-emul-boot MKISOFS_OPTIONS += -boot-load-seg $(BOOT_LOAD_SEGMENT) MKISOFS_OPTIONS += -boot-load-size $(BOOT_LOAD_SIZE) #MKISOFS_OPTIONS += -quiet MKISOFS_OPTIONS += -d MKISOFS_OPTIONS += -gui MKISOFS_OPTIONS += -l MKISOFS_OPTIONS += -J MKISOFS_OPTIONS += -R MKISOFS_OPTIONS += -U MKISOFS_OPTIONS += -no-bak MKISOFS_OPTIONS += -V $(OS_NAME) MKISOFS_OPTIONS += $(addprefix -m , $(DESELECTION)) # イメージコピーオプション CP_OPTIONS += -a CP_OPTIONS += -f CP_OPTIONS += -p CP_OPTIONS += -u #QEMU実行オプション QEMU_OPTIONS += -boot d QEMU_OPTIONS += -usb PHONY += all all: $(TARGET) PHONY += clean clean: rm -f $(OBJS) $(TARGET) rm -fr $(ISO_PATH_ROOT) PHONY += run run: all qemu -cdrom $(TARGET) $(QEMU_OPTIONS) .PHONY: $(PHONY) $(TARGET): $(ISO_PATH_BOOT_IMG) $(ISO_PATH_KERNEL_IMG) mkisofs $(MKISOFS_OPTIONS) -o $@ $(ISO_PATH_ROOT) $(ISO_PATH_BOOT_IMG): $(BOOT_IMG_PATH) -mkdir -p $(ISO_PATH_BOOT_DIR) cp $(CP_OPTIONS) $^ $@ $(ISO_PATH_KERNEL_IMG): $(KERNEL_IMG_PATH) -mkdir -p $(ISO_PATH_KERNEL_DIR) cp $(CP_OPTIONS) $^ $@ #################################################### # ↓過去のもの # #PHONY += $(TARGET) #$(TARGET): $(FDD_IMG) fsbuild # mkisofs $(MKISOFS_OPTIONS) -b $(FDD_IMG) -c $(BOOT_CATALOG) -o $@ $(CD_ROOT_PATH) # ## FDDイメージ作成 ## BootとKernelを結合して、FDD1.44MBのイメージを作成 #PHONY += $(FDD_IMG) #$(FDD_IMG): $(BOOT_IMG) $(KERNEL_IMG) # cat $+ > $@ # ## Bootイメージ作成 ## Bootのmakeを実行します。 #PHONY += $(BOOT_IMG) #$(BOOT_IMG): # ## Kernelイメージ作成 ## Kernelのmakeを実行します。 #PHONY += $(KERNEL_IMG) #$(KERNEL_IMG):