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
13 ALL
: TESTFORTOOLS MAKEHEADERS COPYMAKFILES 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
20 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
21 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
23 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
24 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
26 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
27 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
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)"
34 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
36 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
37 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
39 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
40 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
42 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
43 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
45 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
46 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
48 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
49 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
51 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
52 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
54 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
55 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
57 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
58 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
60 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" HEADERS
61 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)"
64 nmake
$(MAKEMACRO
) /$(MAKEFLAGS
) CFG
="$(CFG)" DEBUG
="$(DEBUG)" DOTEST
69 nmake
-f xapdep.mak CLEAN
72 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
74 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
76 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
78 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
80 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
81 cd ..\languages\compiler
82 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
84 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
86 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
88 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
90 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
92 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
94 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
96 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
98 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
100 nmake
/$(MAKEFLAGS
) DEBUG
="$(DEBUG)" CLEAN
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
108 echo All Win32 parts have been cleaned
!
112 # Copy mak files to the right folders
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
185 cd
$(XAPIAN_BINDINGS
)\csharp
189 # Ruby fails a test in this release, but we package anyway
190 cd
$(XAPIAN_BINDINGS
)\ruby
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
201 $(PERL_EXE
) generate-exceptions
204 ..\
include\xapian
\version.h
: version.h.in ..\configure.ac
205 $(PERL_EXE
) genversion.pl ..\configure.ac version.h.in ..\
include\xapian
\version.h