]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - make/gnu-real.mk
Move dependency tracking from ./configure to Makefile
[user/henk/code/inspircd.git] / make / gnu-real.mk
1 CORE_TARGS = $(patsubst %.cpp,%.o,$(wildcard *.cpp))
2 MODE_TARGS = $(patsubst %.cpp,%.o,$(wildcard modes/*.cpp))
3 CMD_TARGS = $(patsubst %.cpp,%.so,$(wildcard commands/*.cpp))
4 MOD_TARGS = $(patsubst %.cpp,%.so,$(wildcard modules/*.cpp))
5
6 CORE_TARGS += modeclasses.a threadengines/threadengine_pthread.o
7 CORE_TARGS += socketengines/$(SOCKETENGINE).o
8
9 DFILES = $(patsubst %.cpp,%.d,$(wildcard *.cpp))
10 DFILES += $(patsubst %.cpp,%.d,$(wildcard commands/*.cpp))
11 DFILES += $(patsubst %.cpp,%.d,$(wildcard modes/*.cpp))
12 DFILES += $(patsubst %.cpp,%.d,$(wildcard modules/*.cpp))
13 DFILES += socketengines/$(SOCKETENGINE).d threadengines/threadengine_pthread.d
14
15 all: inspircd commands modules
16
17 commands: $(CMD_TARGS)
18
19 modules: $(MOD_TARGS)
20
21 modeclasses.a: $(MODE_TARGS)
22         @../make/run-cc.pl ar crs modeclasses.a $(MODE_TARGS)
23
24 inspircd: $(CORE_TARGS)
25         $(RUNCC) $(FLAGS) -rdynamic -L. -o inspircd $(LDLIBS) $(CORE_TARGS)
26
27 %.d: %.cpp
28         @../make/calcdep.pl $<
29
30 .PHONY: all commands modules
31
32 -include $(DFILES)