-all:
- @for mod in $(MODULES); do \
- (echo === Module: $$mod && $(MAKE) all --no-print-directory -C Modules/$$mod) \
- done
-
- @echo === Kernel
- @$(MAKE) all --no-print-directory -C Kernel
-
- @for lib in $(USRLIBS); do \
- (echo === User Library: $$lib && $(MAKE) all --no-print-directory -C Usermode/Libraries/`echo $$lib`_src) \
- done
-
- @for app in $(USRAPPS); do \
- (echo === User Application: $$app && $(MAKE) all --no-print-directory -C Usermode/Applications/`echo $$app`_src) \
- done
+ALL_MODULES = $(addprefix all-,$(MODULES))
+ALL_USRLIBS = $(addprefix all-,$(USRLIBS))
+ALL_USRAPPS = $(addprefix all-,$(USRAPPS))
+CLEAN_MODULES = $(addprefix clean-,$(MODULES))
+CLEAN_USRLIBS = $(addprefix clean-,$(USRLIBS))
+CLEAN_USRAPPS = $(addprefix clean-,$(USRAPPS))
+INSTALL_MODULES = $(addprefix install-,$(MODULES))
+INSTALL_USRLIBS = $(addprefix install-,$(USRLIBS))
+INSTALL_USRAPPS = $(addprefix install-,$(USRAPPS))
+
+.PHONY: all clean install \
+ $(ALL_MODULES) all-Kernel $(ALL_USRLIBS) $(ALL_USRAPPS) \
+ $(CLEAN_MODULES) clean-Kernel $(CLEAN_USRLIBS) $(CLEAN_USRAPPS) \
+ $(INSTALL_MODULES) install-Kernel $(INSTALL_USRLIBS) $(INSTALL_USRAPPS)
+
+all: $(ALL_MODULES) all-Kernel $(ALL_USRLIBS) $(ALL_USRAPPS)
+clean: $(CLEAN_MODULES) clean-Kernel $(CLEAN_USRLIBS) $(CLEAN_USRAPPS)
+install: $(INSTALL_MODULES) install-Kernel $(INSTALL_USRLIBS) $(INSTALL_USRAPPS)
+