-all-debug: O := -O0
-all-debug: CFLAGS := -g -std=gnu99 -ffreestanding $(O) $(W) -fomit-frame-pointer
-all-debug: LDFLAGS := -ffreestanding $(O) -nostdlib -lgcc
-all-debug: clean $(BUILD_DIR)/$(OS_ISO)
- @i686-elf-objdump -D $(BIN_DIR)/$(OS_BIN) > dump
+export BUILD_MODE=release
+bootable: $(kbuild_dir) $(kimg)
+
+export BUILD_MODE=debug
+bootable-debug: $(kbuild_dir) $(kimg)
+
+user:
+ $(call status,$@)
+ @$(MAKE) $(MKFLAGS) -C usr all -I $(mkinc_dir)
+
+all: bootable
+
+instable: CFLAGS := -g -std=gnu99 -ffreestanding $(O) $(W) $(ARCH_OPT) -D__LUNAIXOS_DEBUG__
+instable: all
+
+all-debug: bootable-debug
+ @echo "Dumping the disassembled kernel code to $(kbuild_dir)/kdump.txt"
+ @i686-elf-objdump -S $(kbin) > $(kbuild_dir)/kdump.txt