source: gsdl/trunk/runtime-src/src/z3950/win32.mak@ 18048

Last change on this file since 18048 was 18048, checked in by mdewsnip, 15 years ago

Argh, somebody has messed up the nice tidy makefiles, and added a whole bunch of bad paths (particularly for Z39.50 compilation)...

  • Property svn:executable set to *
File size: 4.3 KB
Line 
1###########################################################################
2#
3# win32 makefile -- src/z3950
4# A component of the Greenstone digital library software
5# from the New Zealand Digital Library Project at the
6# University of Waikato, New Zealand.
7#
8# Copyright (C) 1999-2008 The New Zealand Digital Library Project
9#
10#
11# This program is free software; you can redistribute it and/or modify
12# it under the terms of the GNU General Public License as published by
13# the Free Software Foundation; either version 2 of the License, or
14# (at your option) any later version.
15#
16# This program is distributed in the hope that it will be useful,
17# but WITHOUT ANY WARRANTY; without even the implied warranty of
18# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19# GNU General Public License for more details.
20#
21# You should have received a copy of the GNU General Public License
22# along with this program; if not, write to the Free Software
23# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
24#
25###########################################################################
26
27GSDL_DIR = ..\..\..
28COMMON_DIR = $(GSDL_DIR)\common-src
29RUNTIME_DIR = $(GSDL_DIR)\runtime-src
30
31INDEXERS_DIR = $(COMMON_DIR)\indexers
32COMMON_PACKAGES_DIR = $(COMMON_DIR)\packages
33PACKAGES_DIR = $(RUNTIME_DIR)\packages
34COLSERVR_DIR = $(RUNTIME_DIR)\src\colservr
35PROTOCOL_DIR = $(RUNTIME_DIR)\src\protocol
36
37
38GSDL_VC4 = 0
39DLL = 0
40DLLDEBUG = 0
41ENABLE_ACCENTFOLD = 1
42USE_SQLITE = 0
43
44
45!IF $(GSDL_VC4)
46CPPFLAGS = -GX
47!ELSE
48CPPFLAGS = -EHsc
49!ENDIF
50
51!IF $(DLL)
52CPPFLAGS = $(CPPFLAGS) -MD
53!ELSE
54!IF ($(DLLDEBUG))
55CPPFLAGS = $(CPPFLAGS) -MDd
56!ENDIF
57!ENDIF
58
59!IF $(ENABLE_ACCENTFOLD)
60ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
61!ELSE
62ACCENTFOLD_LIBS =
63!ENDIF
64
65!IF $(USE_SQLITE)
66SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
67!ELSE
68SQLITE_LIBS =
69!ENDIF
70
71
72AR = lib
73CC = cl
74DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE
75# Do NOT add the "recpt" directory here: the z39.50 code should be independent of the receptionist!
76INCLUDES = -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
77 -I"$(INDEXERS_DIR)\mgpp\text" -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\include" \
78 -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\client" -I"$(PACKAGES_DIR)\d2m" \
79 -I"$(COMMON_PACKAGES_DIR)\windows\gdbm\gdbm"
80LDFLAGS =
81LIBS = "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" "$(COMMON_PACKAGES_DIR)\windows\gdbm\gdbm\gdbm.lib" \
82 "$(PACKAGES_DIR)\d2m\libd2m.lib" "$(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib" $(ACCENTFOLD_LIBS) \
83 $(SQLITE_LIBS)
84
85!IF $(GSDL_VC4)
86DEFS=$(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
87INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
88!ENDIF
89
90
91COMPILE = $(CC) -nologo -c $(CPPFLAGS) $(DEFS) $(INCLUDES)
92LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
93
94
95.SUFFIXES:
96.SUFFIXES: .c .obj
97.c.obj:
98 $(COMPILE) $<
99
100.SUFFIXES: .cpp .obj
101.cpp.obj:
102 $(COMPILE) $<
103
104
105LIBRARY_SOURCES = \
106 yaz_zclient.c \
107 z3950proto.cpp \
108 z3950proxy.cpp \
109 zparse.tab.c \
110 zparse.yy.c
111
112LIBRARY_OBJECTS = \
113 yaz_zclient.obj \
114 z3950proto.obj \
115 z3950proxy.obj \
116 zparse.tab.obj \
117 zparse.yy.obj
118
119LIBRARY = gsdlz3950.lib
120
121
122SOURCES = \
123 z3950explain.cpp \
124 z3950parser.cpp \
125 z3950server.cpp \
126 z3950_to_gsdl.cpp
127
128OBJECTS = \
129 z3950explain.obj \
130 z3950parser.obj \
131 z3950server.obj \
132 z3950_to_gsdl.obj
133
134GSDL_LIBS = \
135 gsdlz3950.lib \
136 $(PROTOCOL_DIR)\gsdlprotocol.lib \
137 $(COLSERVR_DIR)\gsdlcolservr.lib \
138 $(INDEXERS_DIR)\mg/src/text/libmgtext.lib \
139 $(INDEXERS_DIR)\mg/lib/libmglib.lib \
140 $(INDEXERS_DIR)\mgpp/text/libmgpptext.lib \
141 $(INDEXERS_DIR)\mgpp/lib/libmgpplib.lib \
142 $(COMMON_DIR)\src\lib\gsdllib.lib
143
144EXECUTABLE_OBJECTS = \
145 $(OBJECTS) \
146 $(GSDL_LIBS)
147
148EXECUTABLE = z3950server.exe
149
150
151# Default target: make both gsdlz3950.lib and z3950server.exe
152all: $(LIBRARY) $(EXECUTABLE)
153
154gsdlz3950.lib: $(LIBRARY_OBJECTS)
155 if EXIST $(LIBRARY) del $(LIBRARY)
156 $(AR) -nologo /out:$(LIBRARY) $(LIBRARY_OBJECTS) $(PACKAGES_DIR)/yaz/yaz-2.1.4/win/obj/tabcomplete.obj
157
158z3950server.exe: $(EXECUTABLE_OBJECTS)
159 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
160
161install: $(EXECUTABLE)
162 copy $(EXECUTABLE) "$(GSDL_DIR)\bin\windows"
163
164clean:
165 del *.obj
166 del $(LIBRARY)
167 del $(EXECUTABLE)
Note: See TracBrowser for help on using the repository browser.