X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2Frules.mk;fp=src%2Frules.mk;h=e452ae44fc45ab92db3e7d0f15011c0de7c5f6d4;hb=6b0a0d0efafe34d48ab344fca3b479553bd4e62c;hp=0000000000000000000000000000000000000000;hpb=85783316365181491a3e3c0c63659972477cebba;p=chaz%2Fyoink diff --git a/src/rules.mk b/src/rules.mk new file mode 100644 index 0000000..e452ae4 --- /dev/null +++ b/src/rules.mk @@ -0,0 +1,75 @@ + +######################### +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)) +####################### +