aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/rc/rules.mk
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/rc/rules.mk')
-rw-r--r--src/cmd/rc/rules.mk32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/cmd/rc/rules.mk b/src/cmd/rc/rules.mk
new file mode 100644
index 0000000..76837fc
--- /dev/null
+++ b/src/cmd/rc/rules.mk
@@ -0,0 +1,32 @@
+include share/push.mk
+# Iterate through subdirectory tree
+
+# local sources
+SRCS_$(d):=\
+ $(d)/util.c\
+ $(d)/input.c\
+ $(d)/prompt.c\
+ $(d)/io.c\
+ $(d)/lex.c\
+ $(d)/parse.c\
+ $(d)/tree.c\
+ $(d)/code.c\
+ $(d)/var.c\
+ $(d)/sys.c\
+ $(d)/wait.c\
+ $(d)/job.c\
+ $(d)/exec.c\
+ $(d)/main.c
+
+# local targets
+BINS_$(d) := $(d)/rc
+
+include share/paths.mk
+$(d)/parse.h $(d)/parse.c: $(d)/syntax.y
+ yacc --header=$(<D)/parse.h --output=$(<D)/parse.c $(<)
+
+# local rules
+$(BINS_$(d)): $(OBJS_$(d)) $(OBJ_DIR)/libutf/libutf.a $(OBJ_DIR)/base/base.a $(d)/parse.h
+ $(COMPLINK)
+
+include share/pop.mk