MKDIR_ELF := user/mkdir.elf
RM_ELF := user/rm.elf
LDSO_ELF := user/ld.so
+ DOOM_ELF := user/doom/doom.elf
INITRD_IMG := initrd.img
MKINITRD := tools/mkinitrd
endif
$(LDSO_ELF): user/ldso.c user/linker.ld
@i686-elf-gcc -m32 -I include -ffreestanding -fno-pie -no-pie -nostdlib -Wl,-T,user/linker.ld -o $(LDSO_ELF) user/ldso.c
-$(INITRD_IMG): $(MKINITRD) $(USER_ELF) $(ECHO_ELF) $(SH_ELF) $(CAT_ELF) $(LS_ELF) $(MKDIR_ELF) $(RM_ELF) $(LDSO_ELF)
- @./$(MKINITRD) $(INITRD_IMG) $(USER_ELF):bin/init.elf $(ECHO_ELF):bin/echo.elf $(SH_ELF):bin/sh $(CAT_ELF):bin/cat $(LS_ELF):bin/ls $(MKDIR_ELF):bin/mkdir $(RM_ELF):bin/rm $(LDSO_ELF):lib/ld.so
+INITRD_FILES := $(USER_ELF):bin/init.elf $(ECHO_ELF):bin/echo.elf $(SH_ELF):bin/sh $(CAT_ELF):bin/cat $(LS_ELF):bin/ls $(MKDIR_ELF):bin/mkdir $(RM_ELF):bin/rm $(LDSO_ELF):lib/ld.so
+INITRD_DEPS := $(MKINITRD) $(USER_ELF) $(ECHO_ELF) $(SH_ELF) $(CAT_ELF) $(LS_ELF) $(MKDIR_ELF) $(RM_ELF) $(LDSO_ELF)
+
+# Include doom.elf if it has been built
+ifneq ($(wildcard $(DOOM_ELF)),)
+INITRD_FILES += $(DOOM_ELF):bin/doom.elf
+INITRD_DEPS += $(DOOM_ELF)
+endif
+
+$(INITRD_IMG): $(INITRD_DEPS)
+ @./$(MKINITRD) $(INITRD_IMG) $(INITRD_FILES)
run: iso
@rm -f serial.log qemu.log