BOOT_DIR := boot BOOT_FILE := $(BOOT_DIR)/kjarna.efi SERVICE_DIR := service SERVICE_FILE := $(SERVICE_DIR)/kjarna.os CORE_DIR := kc/core CORE_FILE := $(CORE_DIR)/kernel.os TARGETS := $(SERVICE_FILE) $(BOOT_FILE) $(CORE_FILE) DIRS := $(SERVICE_DIR) $(BOOT_DIR) $(CORE_DIR) DIRS_CLEAN := $(addprefix clean-,$(DIRS)) DIRS_DISTCLEAN := $(addprefix dist,$(DIRS_CLEAN)) all: $(TARGETS) clean: $(DIRS_CLEAN) distclean: $(DIRS_DISTCLEAN) $(DIRS_CLEAN): clean-%: $(MAKE) -C $* clean $(DIRS_DISTCLEAN): distclean-%: $(MAKE) -C $* distclean $(TARGETS): $(MAKE) -C $(dir $@) .PHONY: all clean distclean $(TARGETS) $(DIRS) $(DIRS_CLEAN) $(DIRS_DISTCLEAN)