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

Last change on this file since 19521 was 19521, checked in by ak19, 15 years ago

Dr Bainbridge updated the Windows makefiles to 1. Take the DEBUG flag so that we can recompile all of GS2 in the Vis C++ 2005 Express Edition command prompt and then use its Debugger on the C code. 2. Now GS2 make clean command cleans up all object and lib files that its make generates.

  • Property svn:executable set to *
File size: 4.4 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
39DEBUG = 0
40DLL = 0
41DLLDEBUG = 0
42ENABLE_ACCENTFOLD = 1
43USE_SQLITE = 1
44
45!IF $(DEBUG)
46CXXFLAGS = -DEBUG -Z7 /errorReport:prompt
47!ELSE
48CXXFLAGS =
49!ENDIF
50
51!IF $(GSDL_VC4)
52CXXFLAGS = $(CXXFLAGS) -GX
53!ELSE
54CXXFLAGS = $(CXXFLAGS) -EHsc
55!ENDIF
56
57!IF $(DLL)
58CXXFLAGS = $(CXXFLAGS) -MD
59!ELSE
60!IF ($(DLLDEBUG))
61CXXFLAGS = $(CXXFLAGS) -MDd
62!ENDIF
63!ENDIF
64
65!IF $(ENABLE_ACCENTFOLD)
66ACCENTFOLD_LIBS = "$(INDEXERS_DIR)\packages\unac\libunac.lib" "$(INDEXERS_DIR)\packages\windows\iconv\iconv\lib\iconv.lib"
67!ELSE
68ACCENTFOLD_LIBS =
69!ENDIF
70
71!IF $(USE_SQLITE)
72SQLITE_LIBS = "$(COMMON_PACKAGES_DIR)\sqlite\lib\sqlite3.lib"
73!ELSE
74SQLITE_LIBS =
75!ENDIF
76
77
78AR = lib
79CC = cl
80DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE
81# Do NOT add the "recpt" directory here: the z39.50 code should be independent of the receptionist!
82INCLUDES = -I"$(GSDL_DIR)" -I"$(COMMON_DIR)\src\lib" -I"$(COLSERVR_DIR)" -I"$(PROTOCOL_DIR)" \
83 -I"$(INDEXERS_DIR)\mgpp\text" -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\include" \
84 -I"$(PACKAGES_DIR)\yaz\yaz-2.1.4\client" -I"$(PACKAGES_DIR)\d2m" \
85 -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3" -I"$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\windows"
86LDFLAGS =
87LIBS = "$(COMMON_PACKAGES_DIR)\windows\expat\expat\libexpat.lib" "$(COMMON_PACKAGES_DIR)\gdbm\gdbm-1.8.3\gdbm.lib" \
88 "$(PACKAGES_DIR)\d2m\libd2m.lib" "$(PACKAGES_DIR)\yaz\yaz-2.1.4\lib\yaz.lib" $(ACCENTFOLD_LIBS) \
89 $(SQLITE_LIBS)
90
91!IF $(GSDL_VC4)
92DEFS=$(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
93INCLUDES = $(INCLUDES) -I"$(COMMON_PACKAGES_DIR)\windows\stlport\stlport"
94!ENDIF
95
96
97COMPILE = $(CC) -nologo -c $(CXXFLAGS) $(DEFS) $(INCLUDES)
98LINK = $(CC) -nologo -Fe"$@" $(LDFLAGS)
99
100
101.SUFFIXES:
102.SUFFIXES: .c .obj
103.c.obj:
104 $(COMPILE) $<
105
106.SUFFIXES: .cpp .obj
107.cpp.obj:
108 $(COMPILE) $<
109
110
111LIBRARY_SOURCES = \
112 yaz_zclient.c \
113 z3950proto.cpp \
114 z3950proxy.cpp \
115 zparse.tab.c \
116 zparse.yy.c
117
118LIBRARY_OBJECTS = \
119 yaz_zclient.obj \
120 z3950proto.obj \
121 z3950proxy.obj \
122 zparse.tab.obj \
123 zparse.yy.obj
124
125LIBRARY = gsdlz3950.lib
126
127
128SOURCES = \
129 z3950explain.cpp \
130 z3950parser.cpp \
131 z3950server.cpp \
132 z3950_to_gsdl.cpp
133
134OBJECTS = \
135 z3950explain.obj \
136 z3950parser.obj \
137 z3950server.obj \
138 z3950_to_gsdl.obj
139
140GSDL_LIBS = \
141 gsdlz3950.lib \
142 $(PROTOCOL_DIR)\gsdlprotocol.lib \
143 $(COLSERVR_DIR)\gsdlcolservr.lib \
144 $(INDEXERS_DIR)\mg/src/text/libmgtext.lib \
145 $(INDEXERS_DIR)\mg/lib/libmglib.lib \
146 $(INDEXERS_DIR)\mgpp/text/libmgpptext.lib \
147 $(INDEXERS_DIR)\mgpp/lib/libmgpplib.lib \
148 $(COMMON_DIR)\src\lib\gsdllib.lib
149
150EXECUTABLE_OBJECTS = \
151 $(OBJECTS) \
152 $(GSDL_LIBS)
153
154EXECUTABLE = z3950server.exe
155
156
157# Default target: make both gsdlz3950.lib and z3950server.exe
158all: $(LIBRARY) $(EXECUTABLE)
159
160gsdlz3950.lib: $(LIBRARY_OBJECTS)
161 if EXIST $(LIBRARY) del $(LIBRARY)
162 $(AR) -nologo /out:$(LIBRARY) $(LIBRARY_OBJECTS) $(PACKAGES_DIR)/yaz/yaz-2.1.4/win/obj/tabcomplete.obj
163
164z3950server.exe: $(EXECUTABLE_OBJECTS)
165 $(LINK) $(EXECUTABLE_OBJECTS) $(LIBS)
166
167install: $(EXECUTABLE)
168 copy $(EXECUTABLE) "$(GSDL_DIR)\bin\windows"
169
170clean:
171 del *.obj
172 del $(LIBRARY)
173 del $(EXECUTABLE)
Note: See TracBrowser for help on using the repository browser.