aboutsummaryrefslogtreecommitdiff
path: root/sys/libbio/rules.mk
diff options
context:
space:
mode:
Diffstat (limited to 'sys/libbio/rules.mk')
-rw-r--r--sys/libbio/rules.mk43
1 files changed, 43 insertions, 0 deletions
diff --git a/sys/libbio/rules.mk b/sys/libbio/rules.mk
new file mode 100644
index 0000000..fd3e066
--- /dev/null
+++ b/sys/libbio/rules.mk
@@ -0,0 +1,43 @@
+# ---- Push on stack ----
+SP := $(SP).x
+DIRSTACK_$(SP) := $(d)
+d := $(DIR)
+
+# Iterate through subdirectory tree
+DIR := $(d)/io
+include $(DIR)/rules.mk
+
+# Local sources
+SRCS_$(d) := $(wildcard $(d)/*.c)
+OBJS_$(d) := $(SRCS_$(d):.c=.o)
+OBJS_$(d) := $(patsubst $(SRC_DIR)/%, $(OBJ_DIR)/%, $(OBJS_$(d)))
+DEPS_$(d) := $(OBJS_$(d):.o=.d)
+
+OBJS := $(OBJS) $(OBJS_$(d))
+DEPS := $(DEPS) $(DEPS_$(d))
+
+# Local targets
+LIBS_$(d) := $(d)/libbio.a
+LIBS_$(d) := $(patsubst $(SRC_DIR)/%, $(OBJ_DIR)/%, $(LIBS_$(d)))
+LIBS := $(LIBS) $(LIBS_$(d))
+
+BINS_$(d) := $(d)/test
+BINS_$(d) := $(patsubst $(SRC_DIR)/%, $(OBJ_DIR)/%, $(BINS_$(d)))
+BINS := $(BINS) $(BINS_$(d))
+
+# Local rules
+# $(LIBS_$(d)) = TCFLAGS :=
+# $(LIBS_$(d)) = TCINCS :=
+# $(LIBS_$(d)) = TCLIBS :=
+
+$(LIBS_$(d)): $(OBJS_$(d)) $(OBJS_$(d)/io)
+ $(ARCHIVE)
+
+$(BINS_$(d)): $(LIBS_$(d)) $(OBJ_DIR)/libn/libn.a
+ $(LINK)
+
+# ---- Pop off stack ----
+-include $(DEPS_$(d))
+
+d := $(DIRSTACK_$(SP))
+SP := $(basename $(SP))