]> git.netwichtig.de Git - user/henk/code/inspircd.git/blob - make/gnu-real.mk
e0a8af68f05e48e7d64e02b8ca0dd795d1758da7
[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 SPANNINGTREE_TARGS = $(patsubst %.cpp,%.o,$(wildcard modules/m_spanningtree/*.cpp))
6
7 CORE_TARGS += modeclasses.a threadengines/threadengine_pthread.o
8 CORE_TARGS += socketengines/$(SOCKETENGINE).o
9 MOD_TARGS += modules/m_spanningtree.so
10
11 DFILES = $(shell perl -e 'print join " ", grep s!([^/]+)\.cpp!.$$1.d!, <*.cpp>, <commands/*.cpp>, <modes/*.cpp>, <modules/*.cpp>, <modules/m_spanningtree/*.cpp>')
12 DFILES += socketengines/.$(SOCKETENGINE).d threadengines/.threadengine_pthread.d
13
14 all: inspircd commands modules
15
16 commands: $(CMD_TARGS)
17
18 modules: $(MOD_TARGS)
19
20 modeclasses.a: $(MODE_TARGS)
21         @../make/run-cc.pl ar crs modeclasses.a $(MODE_TARGS)
22
23 modules/m_spanningtree.so: $(SPANNINGTREE_TARGS)
24         $(RUNCC) $(FLAGS) -shared -export-dynamic -o $@ $(SPANNINGTREE_TARGS)
25
26 inspircd: $(CORE_TARGS)
27         $(RUNCC) $(FLAGS) $(CORE_FLAGS) -o inspircd $(LDLIBS) $(CORE_TARGS)
28
29 .%.d: %.cpp
30         @$(VDEP_IN)
31         @../make/calcdep.pl $<
32         @$(VDEP_OUT)
33
34 .PHONY: all alldep commands modules
35
36 -include $(DFILES)