Merge branch 'HostServ' of ssh://git.pk910.de:16110/srvx into HostServ
[srvx.git] / Makefile.win32
1 # For an out-of-tree build, set VPATH appropriately:
2 VPATH=.
3 # (You will also have to manually create the 'rx' and 'src'
4 # directories if they do not already exist.)
5 # For a cross-compilation, set CC appropriately:
6 # CC=i586-mingw32msvc-cc
7 CPPFLAGS=-I$(VPATH) -Isrc
8 CFLAGS=-mno-cygwin -W -Wall -O2
9 LDFLAGS=-mno-cygwin
10 EXE_EXT=.exe
11 LIBS=-lws2_32
12
13 #MODULES=
14 MODULES=helpserv memoserv qserver snoop sockcheck hostserv
15 PROTOCOL=p10
16 ifeq ($(PROTOCOL),p10)
17   CFLAGS += -DWITH_PROTOCOL_P10
18 else
19   CFLAGS += -DWITH_PROTOCOL_BAHAMUT
20 endif
21
22 RX_OBJS = \
23         rx/rx.o \
24         rx/rxanal.o \
25         rx/rxbasic.o \
26         rx/rxbitset.o \
27         rx/rxcset.o \
28         rx/rxgnucomp.o \
29         rx/rxhash.o \
30         rx/rxnfa.o \
31         rx/rxnode.o \
32         rx/rxposix.o \
33         rx/rxsimp.o \
34         rx/rxspencer.o \
35         rx/rxstr.o \
36         rx/rxsuper.o \
37         rx/rxunfa.o
38
39 SRVX_OBJS = \
40         src/chanserv.o \
41         src/compat.o \
42         src/conf.o \
43         src/dict-splay.o \
44         src/git-version.o \
45         src/gline.o \
46         src/global.o \
47         src/hash.o \
48         src/heap.o \
49         src/helpfile.o \
50         src/ioset-select.o \
51         src/ioset-win32.o \
52         src/ioset.o \
53         src/log.o \
54         src/main-win32.o \
55         src/md5.o \
56         src/modcmd.o \
57         src/modules.o \
58         src/nickserv.o \
59         src/opserv.o \
60         src/policer.o \
61         src/proto-$(PROTOCOL).o \
62         src/recdb.o \
63         src/saxdb.o \
64         src/mail-smtp.o \
65         src/timeq.o \
66         src/tools.o \
67         $(addsuffix .o,$(addprefix src/mod-,$(MODULES)))
68
69 srvx$(EXE_EXT): src/config.h src/modules-list.h $(RX_OBJS) $(SRVX_OBJS)
70         $(CC) -o $@ $(LDFLAGS) $(RX_OBJS) $(SRVX_OBJS) $(LIBS)
71 src/config.h: $(VPATH)/src/config.h.win32
72         cp $< $@
73 src/modules-list.h:
74         rm -f $@ ; \
75         for module in $(MODULES) ; do \
76                 echo "WITH_MODULE($$module)" >> $@ ; \
77         done
78 clean:
79         rm -f src/config.h src/modules-list.h */*.o */*.exe