# Define rules and targets for libmoof.
#
-OBJS_$(d) := \
- $(d)/ConvertUTF.o \
- $(d)/aabb.o \
- $(d)/backend.o \
- $(d)/camera.o \
- $(d)/dispatcher.o \
- $(d)/fastevents.o \
- $(d)/frustum.o \
- $(d)/hash.o \
- $(d)/image.o \
- $(d)/log.o \
- $(d)/packet.o \
- $(d)/plane.o \
- $(d)/resource.o \
- $(d)/service.o \
- $(d)/settings.o \
- $(d)/sound.o \
- $(d)/string.o \
- $(d)/texture.o \
- $(d)/timer.o \
- $(d)/video.o \
- $(d)/view.o \
- $(_END_)
-
-TGTS_$(d) := $(d)/libmoof.a
-DEPS_$(d) := $(OBJS_$(d):%=%.d)
-
-CLEAN := $(CLEAN) $(OBJS_$(d)) $(DEPS_$(d)) $(TGTS_$(d))
-
-
-$(OBJS_$(d)): CF_TGT := -I$(d) -I$(d)/..
-$(OBJS_$(d)): $(d)/rules.mk
-
-$(TGTS_$(d)): $(OBJS_$(d))
+OBJECTS_$(d) := $(patsubst %.c,%.o,$(wildcard $(d)/*.c)) \
+ $(patsubst %.cc,%.o,$(wildcard $(d)/*.cc))
+D_FILES_$(d) := $(OBJECTS_$(d):%=%.d)
+
+LIBRARY_$(d) := $(d)/libmoof.a
+
+CLEAN := $(CLEAN) $(OBJECTS_$(d)) $(D_FILES_$(d)) $(LIBRARY_$(d))
+
+$(OBJECTS_$(d)): CF_TGT := -I$(d) -I$(d)/..
+$(OBJECTS_$(d)): $(d)/rules.mk
+
+$(LIBRARY_$(d)): $(OBJECTS_$(d))
$(DO_AR)
-#######################
--include $(DEPS_$(d))
+########################
+-include $(D_FILES_$(d))
d := $(dirstack_$(sp))
sp := $(basename $(sp))
-#######################
+########################