######################### 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. # OBJECTS_$(d) := $(patsubst %.c,%.o,$(wildcard $(d)/*.c)) \ $(patsubst %.cc,%.o,$(wildcard $(d)/*.cc)) D_FILES_$(d) := $(OBJECTS_$(d):%=%.d) ifeq ($(HOST),win32) OBJECTS_$(d) += $(d)/yoink.o endif PROGRAM_$(d) := $(call add_exe_suffix,$(d)/yoink) BINARIES := $(BINARIES) $(PROGRAM_$(d)) CLEAN := $(CLEAN) $(OBJECTS_$(d)) $(D_FILES_$(d)) $(PROGRAM_$(d)) $(OBJECTS_$(d)): CF_TGT := -I$(d) $(OBJECTS_$(d)): $(d)/rules.mk $(PROGRAM_$(d)): $(OBJECTS_$(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: $(PROGRAM_$(d)) @$(YOINK_ENVIRONMENT) $< $(YOINK_OPTS) .PHONY: debug debug: $(PROGRAM_$(d)) @$(YOINK_ENVIRONMENT) gdb $< ######################## -include $(D_FILES_$(d)) d := $(dirstack_$(sp)) sp := $(basename $(sp)) ########################