summaryrefslogtreecommitdiff
path: root/make/gnu-real.mk
diff options
context:
space:
mode:
authordanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-01 15:04:40 +0000
committerdanieldg <danieldg@e03df62e-2008-0410-955e-edbf42e46eb7>2009-09-01 15:04:40 +0000
commit990e04bab51bf1c3771938b8f598272c1b31cdca (patch)
tree8b077d8d3326feeb6736f5eb1fa719103a8822d5 /make/gnu-real.mk
parent8f8e244f4f350a53a2a84296a66468b7e5ac4a2b (diff)
Move dependency tracking from ./configure to Makefile
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11556 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'make/gnu-real.mk')
-rw-r--r--make/gnu-real.mk32
1 files changed, 32 insertions, 0 deletions
diff --git a/make/gnu-real.mk b/make/gnu-real.mk
new file mode 100644
index 000000000..263467038
--- /dev/null
+++ b/make/gnu-real.mk
@@ -0,0 +1,32 @@
+CORE_TARGS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
+MODE_TARGS = $(patsubst %.cpp,%.o,$(wildcard modes/*.cpp))
+CMD_TARGS = $(patsubst %.cpp,%.so,$(wildcard commands/*.cpp))
+MOD_TARGS = $(patsubst %.cpp,%.so,$(wildcard modules/*.cpp))
+
+CORE_TARGS += modeclasses.a threadengines/threadengine_pthread.o
+CORE_TARGS += socketengines/$(SOCKETENGINE).o
+
+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 += socketengines/$(SOCKETENGINE).d threadengines/threadengine_pthread.d
+
+all: inspircd commands modules
+
+commands: $(CMD_TARGS)
+
+modules: $(MOD_TARGS)
+
+modeclasses.a: $(MODE_TARGS)
+ @../make/run-cc.pl ar crs modeclasses.a $(MODE_TARGS)
+
+inspircd: $(CORE_TARGS)
+ $(RUNCC) $(FLAGS) -rdynamic -L. -o inspircd $(LDLIBS) $(CORE_TARGS)
+
+%.d: %.cpp
+ @../make/calcdep.pl $<
+
+.PHONY: all commands modules
+
+-include $(DFILES)