--- /dev/null
+
+#########################
+sp := $(sp).x
+dirstack_$(sp) := $(d)
+d := $(dir)
+#########################
+
+#
+# Include the subdirectories--order is not important.
+#
+
+dir := $(d)/moof
+include $(dir)/rules.mk
+
+dir := $(d)/stlplus
+include $(dir)/rules.mk
+
+
+#
+# Define rules and targets for Yoink.
+#
+
+OBJS_$(d) := \
+ $(d)/Animation.o \
+ $(d)/Character.o \
+ $(d)/GameLayer.o \
+ $(d)/Heroine.o \
+ $(d)/Hud.o \
+ $(d)/Main.o \
+ $(d)/Scene.o \
+ $(d)/TilemapFont.o \
+ $(d)/TitleLayer.o \
+ $(d)/Typesetter.o \
+ $(d)/version.o \
+ $(_END_)
+
+ifeq ($(HOST),win32)
+OBJS_$(d) += $(d)/yoink.o
+endif
+
+TGTS_$(d) := $(d)/yoink$(EXEEXT)
+DEPS_$(d) := $(OBJS_$(d):%=%.d)
+
+TGT_BIN := $(TGT_BIN) $(TGTS_$(d))
+CLEAN := $(CLEAN) $(OBJS_$(d)) $(DEPS_$(d)) $(TGTS_$(d))
+
+
+$(OBJS_$(d)): CF_TGT := -I$(d)
+$(OBJS_$(d)): $(d)/rules.mk
+
+$(TGTS_$(d)): $(OBJS_$(d)) $(d)/moof/libmoof.a $(d)/stlplus/libstlplus.a
+ $(DO_LDX)
+
+
+#
+# Define the run and debug targets.
+#
+
+YOINK_ENVIRONMENT = YOINK_DATADIR="./data"
+
+.PHONY: run
+run: $(TGTS_$(d))
+ @$(YOINK_ENVIRONMENT) $< $(YOINK_OPTS)
+
+.PHONY: debug
+debug: $(TGTS_$(d))
+ @$(YOINK_ENVIRONMENT) gdb $<
+
+
+#######################
+-include $(DEPS_$(d))
+d := $(dirstack_$(sp))
+sp := $(basename $(sp))
+#######################
+