aboutsummaryrefslogtreecommitdiff
path: root/rules.mk
diff options
context:
space:
mode:
Diffstat (limited to 'rules.mk')
-rw-r--r--rules.mk22
1 files changed, 13 insertions, 9 deletions
diff --git a/rules.mk b/rules.mk
index e03a1c4..8c7bb2c 100644
--- a/rules.mk
+++ b/rules.mk
@@ -1,5 +1,5 @@
# Standard housekeeping
-.PHONY: all debug release clean target install
+.PHONY: all debug release system bins libs tests clean target install
.SUFFIXES:
all: targets
@@ -27,10 +27,6 @@ TEST :=
GENS :=
-# iterate through source directory tree
-DIR := src
-include $(DIR)/rules.mk
-
# generic rules
%.a: %.o
$(ARCHIVE)
@@ -39,9 +35,10 @@ include $(DIR)/rules.mk
$(LINK)
# explicit system layer
-include sys.mk
+DIR := sys
+include $(DIR)/rules.mk
-# rules for userland
+# userland rules
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
$(COMPILE)
@@ -51,11 +48,18 @@ $(OBJ_DIR)/%.o: $(SRC_DIR)/%.s
$(OBJ_DIR)/%: $(SRC_DIR)/%.c
$(COMPLINK)
-targets: $(SYS) $(LIBS) $(BINS) $(TEST)
+# iterate through source directory tree
+DIR := src
+include $(DIR)/rules.mk
+
+system: $(RUNTIME)
+bins: system $(BINS)
+tests: system $(TEST)
+targets: libs bins tests
clean:
@echo removing system layer
- @rm -f $(SYS_OBJS) $(OBJ_DIR)/sys/sys.a
+ @rm -f $(SYS_OBJS) $(SYS) $(RT) $(RT_OBJS) $(RT1) $(RTI) $(RTN)
@echo removing object files
@rm -f $(OBJS)
@echo removing dependency files