Remove obsolete bindings/ directory.
[wvstreams.git] / Makefile-win32
blobade508db64236dae35b5b32ea52c6995353e2539
1 WVSTREAMS=.
3 include $(WVSTREAMS)/wvrules.mk
4 include vars.mk
6 ifneq ($(COMPILER_STANDARD),)
7 include vars-$(COMPILER_STANDARD).mk
8 endif
10 default: all
12 runconfigure: aclocal.m4 configure include/wvautoconf.h.in
14 aclocal.m4: acinclude.m4
15         aclocal
16         @touch $@
18 configure: configure.ac include/wvautoconf.h.in aclocal.m4
19         autoconf
20         @rm -f config.mk include/wvautoconf.h
21         @touch $@
23 include/wvautoconf.h.in: configure.ac aclocal.m4
24         autoheader
25         @touch $@
27 %.exe: %
28         rm -f $@
29         ln -s $(shell basename $<) $@
31 ifneq ($(have_dbus),no)
32   DBUSEXE=dbus/tests/wvdbus dbus/tests/wvdbusd
33 endif
35 all: fake-libs \
36         ipstreams/tests/tcptest crypto/tests/ssltest \
37         uniconf/tests/uni uniconf/daemon/uniconfd \
38         $(DBUSEXE) \
39         wvtestmain
40         
41 include $(filter-out xplc%,$(wildcard */rules.mk */*/rules.mk)) /dev/null
43 -include $(shell find . -name '.*.d') /dev/null
45         
46 #LIBS+=-lssl -lcrypto -lz -lole32 -lrpcrt4 -lwsock32 -lgdi32 \
47 #       $(with_xplc)/libxplc-cxx.a $(with_xplc)/libxplc.a gnulib/libgnu.a \
48 #       -lstdc++
50 .PHONY: clean test
52 # object files that we replace completely for win32
53 OBJREPLACED=utils/wvtask.o
55 # object files that we can't use in win32 for now, but which we should
56 # definitely fix
57 OBJFIXME=\
58         utils/wvsubprocqueue.o \
59         utils/wvsystem.o \
60         utils/wvregex.o \
61         utils/wvglob.o \
62         utils/wvglobdiriter.o \
63         utils/wvsubproc.o \
64         \
65         streams/wvatomicfile.o \
66         streams/wvlogrotator.o \
67         streams/wvpipe.o \
68         streams/wvwatcher.o \
69         \
70         ipstreams/wvunixsocket.o \
71         \
72         uniconf/unifilesystemgen.o
74 # object files that we probably just shouldn't include in win32 libraries
75 OBJSKIP=$(OBJREPLACED) $(OBJFIXME) \
76         utils/strcrypt.o \
77         utils/wvfork.o \
78         utils/wvmagiccircle.o \
79         utils/wvshmzone.o \
80         utils/wvprociter.o \
81         \
82         streams/wvlockdev.o \
83         streams/wvlockfile.o \
84         streams/wvmagicloopback.o \
85         streams/wvmodem.o \
86         streams/wvsyslog.o \
87         streams/wvsubprocqueuestream.o \
88         \
89         ipstreams/wvipraw.o \
90         ipstreams/wvunixdgsocket.o \
91         \
92         uniconf/unigenhack.o \
93         uniconf/daemon/uniconfd.o
95 TOBJFIXME=\
96         utils/t/wvsubprocqueue.t.o \
97         utils/t/wvsystem.t.o \
98         utils/t/wvpushdir.t.o \
99         \
100         streams/t/wvatomicfile.t.o \
101         streams/t/wvstreamsdaemon.t.o \
102         streams/t/wvpipe.t.o \
103         \
104         uniconf/t/uniconfd.t.o \
105         uniconf/t/uniconfgen-sanitytest.o \
106         uniconf/t/unicachegen.t.o \
107         uniconf/t/uniinigen.t.o \
108         uniconf/t/unireplicategen.t.o \
109         uniconf/t/uniretrygen.t.o \
110         uniconf/t/uniclientgen.t.o \
111         uniconf/t/uniunwrapgen.t.o \
112         uniconf/t/unitransactiongen.t.o \
113         uniconf/t/unicallbackgen.t.o \
114         uniconf/t/unimountgen.t.o \
115         uniconf/t/unisubtreegen.t.o \
116         uniconf/t/unipermgen.t.o \
117         uniconf/t/unidefgen.t.o \
118         uniconf/t/unifastregetgen.t.o \
119         uniconf/t/unitempgen.t.o \
120         uniconf/t/unireadonlygen.t.o \
121         uniconf/t/uniautogen.t.o \
122         uniconf/t/unilistgen.t.o
123         
125 TOBJSKIP=$(TOBJFIXME) \
126         utils/t/strcrypt.t.o \
127         utils/t/wvondiskhash.t.o \
128         utils/t/wvregex.t.o \
129         utils/t/wvglob.t.o \
130         utils/t/wvglobdiriter.t.o \
131         utils/t/wvprociter.t.o \
132         \
133         streams/t/wvmagicloopback.t.o \
134         streams/t/wvlogrotator.t.o \
135         streams/t/wvsubprocqueuestream.t.o \
136         \
137         ipstreams/t/wvunixdgsocket.t.o \
138         ipstreams/t/wvunixsocket.t.o \
139         \
140         uniconf/t/unitempgenvsdaemon.t.o \
142 W=$(WVSTREAMS)/Win32WvStreams
143 DIRS=utils streams ipstreams uniconf uniconf/daemon crypto \
144         urlget configfile \
145         $W/libwvutils $W/libwvstreams $W/libuniconf
146 ifneq ($(have_dbus),no)
147 DIRS+=dbus
148 endif
149 _OBJFILES=$(call objects,$(DIRS))
150 OBJFILES=$(filter-out $(OBJSKIP),$(_OBJFILES))
152 _TOBJFILES=$(call objects,$(addsuffix /t,$(DIRS)))
153 TOBJFILES=$(filter-out $(TOBJSKIP),$(_TOBJFILES))
155 LIBS+=$(LIBS_DBUS)
157 wvtestmain: $(TOBJFILES) libwvwin32.a
159 $(TESTS): libwvwin32.a
160 $(addsuffix .o,$(TESTS)):
161 tests: $(TESTS)
163 test: wvtestmain
164         ./wvtestmain '$(TESTNAME)'
166 $(patsubst %.t.cc,%.t,$(wildcard */t/*.cc)): libwvwin32.a
168 libwvwin32.a: $(OBJFILES)
170 fake-libs: libwvwin32.a
171         for d in libwvbase libwvutils libwvstreams libuniconf; do \
172                 rm -f $$d.a $$d.so; \
173                 ln -s libwvwin32.a $$d.a; \
174                 ln -s libwvwin32.a $$d.so; \
175         done
177 ifeq ($(VERBOSE),)
178 define wild_clean
179         @list=`echo $(wildcard $(1))`; \
180                 test -z "$${list}" || sh -c "rm -rf $${list}"
181 endef
182 else
183 define wild_clean
184         @list=`echo $(wildcard $(1))`; \
185                 test -z "$${list}" || sh -cx "rm -rf $${list}"
186 endef
187 endif
189 clean:
190         $(call wild_clean,$(shell find . -name '*.o') \
191                 $(shell find . -name '*.exe') $(shell find . -name '*.a'))