X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2Frules.mk;h=ee2f52c822e19f56ffafe0944c10295299e6a02c;hp=e452ae44fc45ab92db3e7d0f15011c0de7c5f6d4;hb=7ac3aee9efa7f9ce1a966df030b1f76f2b82ef2d;hpb=6b0a0d0efafe34d48ab344fca3b479553bd4e62c diff --git a/src/rules.mk b/src/rules.mk index e452ae4..ee2f52c 100644 --- a/src/rules.mk +++ b/src/rules.mk @@ -20,35 +20,23 @@ 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_) +OBJECTS_$(d) := $(patsubst %.c,%.o,$(wildcard $(d)/*.c)) \ + $(patsubst %.cc,%.o,$(wildcard $(d)/*.cc)) +D_FILES_$(d) := $(OBJECTS_$(d):%=%.d) ifeq ($(HOST),win32) -OBJS_$(d) += $(d)/yoink.o +OBJECTS_$(d) += $(d)/yoink.o endif -TGTS_$(d) := $(d)/yoink$(EXEEXT) -DEPS_$(d) := $(OBJS_$(d):%=%.d) +PROGRAM_$(d) := $(call add_exe_suffix,$(d)/yoink) -TGT_BIN := $(TGT_BIN) $(TGTS_$(d)) -CLEAN := $(CLEAN) $(OBJS_$(d)) $(DEPS_$(d)) $(TGTS_$(d)) +BINARIES := $(BINARIES) $(PROGRAM_$(d)) +CLEAN := $(CLEAN) $(OBJECTS_$(d)) $(D_FILES_$(d)) $(PROGRAM_$(d)) +$(OBJECTS_$(d)): CF_TGT := -I$(d) +$(OBJECTS_$(d)): $(d)/rules.mk -$(OBJS_$(d)): CF_TGT := -I$(d) -$(OBJS_$(d)): $(d)/rules.mk - -$(TGTS_$(d)): $(OBJS_$(d)) $(d)/moof/libmoof.a $(d)/stlplus/libstlplus.a +$(PROGRAM_$(d)): $(OBJECTS_$(d)) $(d)/moof/libmoof.a $(d)/stlplus/libstlplus.a $(DO_LDX) @@ -59,17 +47,17 @@ $(TGTS_$(d)): $(OBJS_$(d)) $(d)/moof/libmoof.a $(d)/stlplus/libstlplus.a YOINK_ENVIRONMENT = YOINK_DATADIR="./data" .PHONY: run -run: $(TGTS_$(d)) +run: $(PROGRAM_$(d)) @$(YOINK_ENVIRONMENT) $< $(YOINK_OPTS) .PHONY: debug -debug: $(TGTS_$(d)) +debug: $(PROGRAM_$(d)) @$(YOINK_ENVIRONMENT) gdb $< -####################### --include $(DEPS_$(d)) +######################## +-include $(D_FILES_$(d)) d := $(dirstack_$(sp)) sp := $(basename $(sp)) -####################### +########################