X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2Frules.mk;h=8bffe04960838d5974c27f62ca4fba5915d34534;hp=e452ae44fc45ab92db3e7d0f15011c0de7c5f6d4;hb=51069fee9139ab8d14ecc80dffbe5deecb73d9e0;hpb=6b0a0d0efafe34d48ab344fca3b479553bd4e62c diff --git a/src/rules.mk b/src/rules.mk index e452ae4..8bffe04 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_) - -ifeq ($(HOST),win32) -OBJS_$(d) += $(d)/yoink.o -endif +OBJECTS_$(d) := $(patsubst %.c,%.o,$(wildcard $(d)/*.c)) \ + $(patsubst %.cc,%.o,$(wildcard $(d)/*.cc)) +D_FILES_$(d) := $(OBJECTS_$(d):%=%.d) -TGTS_$(d) := $(d)/yoink$(EXEEXT) -DEPS_$(d) := $(OBJS_$(d):%=%.d) +ifeq ($(PLATFORM),win32) +OBJECTS_$(d) += $(d)/yoink.o +endif -TGT_BIN := $(TGT_BIN) $(TGTS_$(d)) -CLEAN := $(CLEAN) $(OBJS_$(d)) $(DEPS_$(d)) $(TGTS_$(d)) +PROGRAM_$(d) := $(call add_exe_suffix,$(d)/yoink) +BINARIES := $(BINARIES) $(PROGRAM_$(d)) +CLEAN := $(CLEAN) $(OBJECTS_$(d)) $(D_FILES_$(d)) $(PROGRAM_$(d)) -$(OBJS_$(d)): CF_TGT := -I$(d) -$(OBJS_$(d)): $(d)/rules.mk +$(OBJECTS_$(d)): CF_TGT := -I$(d) +$(OBJECTS_$(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)) -####################### +########################