Add comment noting why a regex check is used
[xapian.git] / xapian-maintainer-tools / win32msvc / Makefile
blob933e5ac7ed54d7e1d607a737d4a067d0b59b03b9
1 # Xapian makefile for win32 directory
3 # Makefile for Microsoft Visual C++ 7.0 (or compatible)
4 # Originally by Ulrik Petersen
5 # Modified by Charlie Hull, Lemur Consulting Ltd. www.lemurconsulting.com
6 # Copyright (C) 2007, Olly Betts
8 !MESSAGE Building Xapian on Win32
9 !MESSAGE
11 !INCLUDE .\config.mak
13 ALL: TESTFORTOOLS MAKEHEADERS COPYMAKFILES MAKEALL
15 CHECK: ALL DOTEST
17 MAKEALL:
18 # Note we must run each make process with the HEADERS target to calculate any missing dependencies and add them to the end of the makefile
19 cd ..\common
20 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
21 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
22 cd ..\api
23 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
24 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
25 cd ..\backends
26 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
27 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
28 cd ..\matcher
29 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
30 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
31 cd ..\languages\compiler
32 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
33 cd ..
34 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
35 cd ..\queryparser
36 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
37 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
38 cd ..\net
39 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
40 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
41 cd ..\expand
42 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
43 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
44 cd ..\unicode
45 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
46 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
47 cd ..\weight
48 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
49 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
50 cd ..\tests\harness
51 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
52 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
53 cd ..\..\bin
54 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
55 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
56 cd ..\examples
57 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
58 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
59 cd ..\tests
60 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" HEADERS
61 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)"
63 DOTEST:
64 nmake $(MAKEMACRO) /$(MAKEFLAGS) CFG="$(CFG)" DEBUG="$(DEBUG)" DOTEST
65 cd ..\win32
67 CLEAN: COPYMAKFILES
68 cd xapdep
69 nmake -f xapdep.mak CLEAN
70 cd ..
71 cd ..\net
72 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
73 cd ..\common
74 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
75 cd ..\api
76 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
77 cd ..\backends
78 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
79 cd ..\matcher
80 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
81 cd ..\languages\compiler
82 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
83 cd ..
84 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
85 cd ..\queryparser
86 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
87 cd ..\expand
88 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
89 cd ..\unicode
90 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
91 cd ..\weight
92 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
93 cd ..\tests\harness
94 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
95 cd ..\..\bin
96 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
97 cd ..\examples
98 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
99 cd ..\tests
100 nmake /$(MAKEFLAGS) DEBUG="$(DEBUG)" CLEAN
101 cd ..\win32
102 -@erase ..\config.h
103 -@erase ..\include\xapian\version.h
104 -@erase ..\include\xapian\error.h
105 -@erase ..\include\xapian\errordispatch.h
106 if exist "$(XAPIAN_DEBUG_OR_RELEASE)" rmdir $(XAPIAN_DEBUG_OR_RELEASE)\ /s /q
107 -@erase xapdep.exe
108 echo All Win32 parts have been cleaned!
110 DISTCLEAN: CLEAN
112 # Copy mak files to the right folders
113 COPYMAKFILES:
114 copy config.h.win32 ..\config.h
115 copy win32_api.mak ..\api\Makefile
116 copy win32_backends.mak ..\backends\Makefile
117 copy win32_backends_flint.mak ..\backends\flint\Makefile
118 copy win32_backends_brass.mak ..\backends\brass\Makefile
119 copy win32_backends_chert.mak ..\backends\chert\Makefile
120 copy win32_backends_inmemory.mak ..\backends\inmemory\Makefile
121 copy win32_backends_multi.mak ..\backends\multi\Makefile
122 copy win32_backends_remote.mak ..\backends\remote\Makefile
123 copy win32_bin.mak ..\bin\Makefile
124 copy win32_common.mak ..\common\Makefile
125 copy win32_examples.mak ..\examples\Makefile
126 copy win32_expand.mak ..\expand\Makefile
127 copy win32_languages_compiler.mak ..\languages\compiler\Makefile
128 copy win32_languages.mak ..\languages\Makefile
129 copy win32_matcher.mak ..\matcher\Makefile
130 copy win32_net.mak ..\net\Makefile
131 copy win32_unicode.mak ..\unicode\Makefile
132 copy win32_weight.mak ..\weight\Makefile
133 copy win32_queryparser.mak ..\queryparser\Makefile
134 copy win32_tests.mak ..\tests\Makefile
135 copy win32_testsuite.mak ..\tests\harness\Makefile
136 if exist $(XAPIAN_BINDINGS) copy win32_bindings_python.mak $(XAPIAN_BINDINGS)\python\Makefile
137 if exist $(XAPIAN_BINDINGS) copy version.rc.python $(XAPIAN_BINDINGS)\python\version.rc
138 if exist $(XAPIAN_BINDINGS) copy setup.py $(XAPIAN_BINDINGS)\python
139 if exist $(XAPIAN_BINDINGS) copy win32_bindings_php.mak $(XAPIAN_BINDINGS)\php\Makefile
140 if exist $(XAPIAN_BINDINGS) copy version.rc.php $(XAPIAN_BINDINGS)\php\version.rc
141 if exist $(XAPIAN_BINDINGS) copy win32_bindings_java.mak $(XAPIAN_BINDINGS)\java\Makefile
142 if exist $(XAPIAN_BINDINGS) copy version.rc.java $(XAPIAN_BINDINGS)\java\version.rc
143 if exist $(XAPIAN_BINDINGS) copy WriteJavaVersion.java $(XAPIAN_BINDINGS)\java\WriteJavaVersion.java
144 if exist $(XAPIAN_BINDINGS) copy win32_bindings_ruby.mak $(XAPIAN_BINDINGS)\ruby\Makefile
145 if exist $(XAPIAN_BINDINGS) copy win32_bindings_csharp.mak $(XAPIAN_BINDINGS)\csharp\Makefile
146 if exist $(XAPIAN_BINDINGS) copy version.rc.csharp $(XAPIAN_BINDINGS)\csharp\version.rc
147 if exist $(XAPIAN_APPLICATIONS) copy win32_applications_omega.mak $(XAPIAN_APPLICATIONS)\Makefile
148 if exist $(XAPIAN_APPLICATIONS) copy config.mak $(XAPIAN_APPLICATIONS)
149 if exist $(XAPIAN_APPLICATIONS) copy config.h.omega.win32 $(XAPIAN_APPLICATIONS)\config.h
150 if exist $(XAPIAN_APPLICATIONS) copy config.h.omega.win32 $(XAPIAN_APPLICATIONS)\common\config.h
152 # Test for tools that we MUST have
153 TESTFORTOOLS: xapdep.exe
154 # Perl is needed for header generation
155 if not exist $(PERL_EXE) exit(1)
157 MAKEALLBINDINGS: ALL COPYMAKFILES
158 # Need bindings to exist
159 if not exist $(XAPIAN_BINDINGS) exit(1)
161 cd $(XAPIAN_BINDINGS)\python
162 nmake PYTHON_VER=24 CLEAN
163 nmake PYTHON_VER=24 DIST
165 nmake PYTHON_VER=25 CLEAN
166 nmake PYTHON_VER=25 DIST
168 nmake PYTHON_VER=26 CLEAN
169 nmake PYTHON_VER=26 DIST
171 nmake PYTHON_VER=27 CLEAN
172 nmake PYTHON_VER=27 DIST
174 cd $(XAPIAN_BINDINGS)\php
175 nmake PHP_VER=52 CLEAN
176 nmake PHP_VER=52 DIST
177 nmake PHP_VER=53 CLEAN
178 nmake PHP_VER=53 DIST
180 # Java bindings didn't work, see http://trac.xapian.org/ticket/474
181 # That issue is fixed, needs testing again
182 # cd $(XAPIAN_BINDINGS)\java
183 # nmake CLEAN
184 # nmake DIST
185 cd $(XAPIAN_BINDINGS)\csharp
186 nmake CLEAN
187 nmake DIST
189 # Ruby fails a test in this release, but we package anyway
190 cd $(XAPIAN_BINDINGS)\ruby
191 nmake CLEAN
192 nmake DISTNOCHECK
196 # Header files generated automatically from various .in files
197 MAKEHEADERS: ..\include\xapian\error.h ..\include\xapian\version.h
199 ..\include\xapian\error.h: ..\generate-exceptions
200 cd..
201 $(PERL_EXE) generate-exceptions
202 cd win32
204 ..\include\xapian\version.h: version.h.in ..\configure.ac
205 $(PERL_EXE) genversion.pl ..\configure.ac version.h.in ..\include\xapian\version.h
207 xapdep.exe:
208 cd xapdep
209 nmake -f xapdep.mak
210 copy xapdep.exe ..
211 cd ..