-CORE_TARGS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
-MODE_TARGS = $(patsubst %.cpp,%.o,$(wildcard modes/*.cpp))
+CORE_TARGS = $(patsubst %.cpp,%.o,$(wildcard *.cpp) $(wildcard modes/*.cpp))
CMD_TARGS = $(patsubst %.cpp,%.so,$(wildcard commands/*.cpp))
MOD_TARGS = $(patsubst %.cpp,%.so,$(wildcard modules/*.cpp))
-SPANNINGTREE_TARGS = $(patsubst %.cpp,%.o,$(wildcard modules/m_spanningtree/*.cpp))
-CORE_TARGS += modeclasses.a threadengines/threadengine_pthread.o
-CORE_TARGS += socketengines/$(SOCKETENGINE).o
-MOD_TARGS += modules/m_spanningtree.so
+CORE_TARGS += socketengines/$(SOCKETENGINE).o threadengines/threadengine_pthread.o
+MOD_TARGS += $(shell perl -e 'print join " ", grep s!/?$$!.so!, grep -d, <modules/m_*>')
-DFILES = $(patsubst %.cpp,%.d,$(wildcard *.cpp))
-DFILES += $(patsubst %.cpp,%.d,$(wildcard commands/*.cpp))
-DFILES += $(patsubst %.cpp,%.d,$(wildcard modes/*.cpp))
-DFILES += $(patsubst %.cpp,%.d,$(wildcard modules/*.cpp))
-DFILES += $(patsubst %.cpp,%.d,$(wildcard modules/m_spanningtree/*.cpp))
-DFILES += socketengines/$(SOCKETENGINE).d threadengines/threadengine_pthread.d
+DFILES = $(shell ../make/calcdep.pl -all)
all: inspircd commands modules
-alldep: $(DFILES)
commands: $(CMD_TARGS)
modules: $(MOD_TARGS)
-modeclasses.a: $(MODE_TARGS)
- @../make/run-cc.pl ar crs modeclasses.a $(MODE_TARGS)
-
-modules/m_spanningtree.so: $(SPANNINGTREE_TARGS)
- $(RUNCC) $(FLAGS) -shared -export-dynamic -o $@ $(SPANNINGTREE_TARGS)
-
inspircd: $(CORE_TARGS)
- $(RUNCC) $(FLAGS) $(CORE_FLAGS) -o inspircd $(LDLIBS) $(CORE_TARGS)
+ $(RUNCC) -o $@ $(CORELDFLAGS) $(LDLIBS) $(CORE_TARGS)
+
+.%.d: %.cpp
+ @../make/calcdep.pl -file $<
-%.d: %.cpp
- @$(VDEP_IN)
- @../make/calcdep.pl $<
- @$(VDEP_OUT)
+.%.d: %
+ @../make/calcdep.pl -file $<
.PHONY: all alldep commands modules