source: trunk/gsdl/src/recpt/win32.mak@ 12044

Last change on this file since 12044 was 12044, checked in by sjboddie, 18 years ago

Wrapped browsetools up into a class and renamed it browsetoolsclass. The
intention of this change is only to make it easier to customise, and it
shouldn't make any functional difference. One exception to this is the
removal of some old code (notably some code for RelatedDocs) which is
now obsolete (I hope).

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 7.2 KB
Line 
1###########################################################################
2#
3# win32 makefile -- src/recpt
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 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
27GSDLHOME = ..\..
28GSDL_VC4 = 0
29LOCAL_LIBRARY = 0
30USE_Z3950 = 0
31DLL = 0
32DLLDEBUG = 0
33STLPATH = "$(GSDLHOME)\packages\windows\stlport\stlport"
34
35# YAZ kit for z39.50
36YAZDIR=$(GSDLHOME)\packages\yaz\yaz-2.1.4
37
38AR = lib
39CC = cl
40
41!IF $(GSDL_VC4)
42CPPFLAGS = -GX
43!ELSE
44CPPFLAGS = -EHsc
45!ENDIF
46
47!IF $(DLL)
48CPPFLAGS = $(CPPFLAGS) -MD
49!ELSE
50!IF ($(DLLDEBUG))
51CPPFLAGS = $(CPPFLAGS) -MDd
52!ENDIF
53!ENDIF
54
55LDFLAGS =
56
57DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE -DGSDL_NOCACHE
58INCLUDES = -I"$(GSDLHOME)\src\recpt" -I"$(GSDLHOME)\lib" -I"$(GSDLHOME)\src\colservr" \
59 -I"$(GSDLHOME)\packages\mg" -I"$(GSDLHOME)\packages\mg\lib" \
60 -I"$(GSDLHOME)\packages\mg\src\text" -I"$(GSDLHOME)\packages\windows\gdbm\gdbm" \
61 -I"$(GSDLHOME)\packages\windows\crypt\crypt" -I"$(GSDLHOME)\src\mgpp\lib" \
62 -I"$(GSDLHOME)\src\mgpp\text" -I"$(GSDLHOME)"
63!IF $(GSDL_VC4)
64DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS
65INCLUDES = $(INCLUDES) -I$(STLPATH)
66!ENDIF
67!IF $(LOCAL_LIBRARY)
68DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY
69!ENDIF
70
71LIBS = "$(GSDLHOME)\packages\windows\gdbm\gdbm\gdbm.lib" \
72 "$(GSDLHOME)\packages\windows\crypt\crypt\crypt.lib" \
73 "$(GSDLHOME)\src\colservr\gsdlcolservr.lib" \
74 "$(GSDLHOME)\lib\gsdllib.lib" \
75 "$(GSDLHOME)\packages\mg\src\text\libtextin.lib" \
76 "$(GSDLHOME)\packages\mg\lib\libmg.lib" \
77 "$(GSDLHOME)\src\mgpp\text\libtextin.lib" \
78 "$(GSDLHOME)\src\mgpp\lib\libmg.lib" \
79 "$(GSDLHOME)\packages\windows\expat\expat\libexpat.lib"
80
81!IF $(USE_Z3950)
82DEFS = $(DEFS) -DUSE_Z3950
83Z3950EXEC = z3950server.exe
84Z3950OBJS = z3950proto.obj z3950proxy.obj yaz_zclient.obj zparse.tab.obj zparse.yy.obj
85Z_CLIENTOBJS = "$(YAZDIR)\win\obj\tabcomplete.obj"
86Z_LIBYAZ = "$(YAZDIR)\lib\yaz.lib"
87LDFLAGS = $(LDFLAGS) /link /NOD:msvcrt.lib
88!ELSE
89Z3950EXEC =
90Z3950OBJS =
91Z_CLIENTOBJS =
92Z_LIBYAZ =
93!ENDIF
94
95COMPILE = $(CC) -nologo -c $(CPPFLAGS) $(DEFS) $(INCLUDES)
96LINK = $(CC) -nologo -Fe"$@"
97
98.SUFFIXES:
99.SUFFIXES: .c .obj
100.c.obj:
101 $(COMPILE) $<
102
103.SUFFIXES: .cpp .obj
104.cpp.obj:
105 $(COMPILE) $<
106
107
108COMMONHEADERS = receptionist.h cgiargs.h action.h browserclass.h \
109 converter.h recptconfig.h cgiutils.h OIDtools.h browsetoolsclass.h \
110 statusaction.h pageaction.h comtypes.h recptproto.h pingaction.h \
111 queryaction.h documentaction.h extlinkaction.h htmlutils.h \
112 querytools.h formattools.h tipaction.h authenaction.h infodbclass.h \
113 userdb.h usersaction.h vlistbrowserclass.h hlistbrowserclass.h \
114 datelistbrowserclass.h invbrowserclass.h pagedbrowserclass.h \
115 htmlbrowserclass.h historydb.h phindbrowserclass.h collectoraction.h \
116 nullproto.h argdb.h browseaction.h browseactiontools.h phindaction.h \
117 summarise.h highlighttext.h configaction.h
118
119CGIHEADERS = cgiwrapper.h
120
121HEADERS = $(COMMONHEADERS) $(CGIHEADERS)
122
123
124COMMONSOURCES = receptionist.cpp cgiargs.cpp action.cpp browserclass.cpp \
125 converter.cpp recptconfig.cpp cgiutils.cpp OIDtools.cpp browsetoolsclass.cpp \
126 statusaction.cpp pageaction.cpp comtypes.cpp \
127 recptproto.cpp pingaction.cpp queryaction.cpp documentaction.cpp \
128 extlinkaction.cpp htmlutils.cpp querytools.cpp formattools.cpp \
129 tipaction.cpp authenaction.cpp infodbclass.cpp userdb.cpp usersaction.cpp \
130 vlistbrowserclass.cpp hlistbrowserclass.cpp datelistbrowserclass.cpp \
131 invbrowserclass.cpp pagedbrowserclass.cpp htmlbrowserclass.cpp \
132 historydb.cpp phindbrowserclass.cpp collectoraction.cpp nullproto.cpp \
133 argdb.cpp browseaction.cpp browseactiontools.cpp phindaction.cpp \
134 summarise.cpp highlighttext.cpp configaction.cpp
135
136CGISOURCES = librarymain.cpp cgiwrapper.cpp
137
138SOURCES = $(COMMONSOURCES) $(CGISOURCES)
139
140
141COMMONOBJECTS = receptionist.obj cgiargs.obj action.obj browserclass.obj \
142 converter.obj recptconfig.obj cgiutils.obj OIDtools.obj browsetoolsclass.obj \
143 statusaction.obj pageaction.obj comtypes.obj recptproto.obj \
144 pingaction.obj queryaction.obj documentaction.obj extlinkaction.obj \
145 htmlutils.obj querytools.obj formattools.obj tipaction.obj \
146 authenaction.obj infodbclass.obj userdb.obj usersaction.obj \
147 vlistbrowserclass.obj hlistbrowserclass.obj datelistbrowserclass.obj \
148 invbrowserclass.obj pagedbrowserclass.obj htmlbrowserclass.obj \
149 historydb.obj phindbrowserclass.obj collectoraction.obj nullproto.obj \
150 argdb.obj browseaction.obj browseactiontools.obj phindaction.obj \
151 summarise.obj highlighttext.obj configaction.obj $(Z3950OBJS)
152
153CGIOBJECTS = librarymain.obj cgiwrapper.obj
154
155
156OBJECTS = $(COMMONOBJECTS) $(CGIOBJECTS)
157
158EXEC = library.exe $(Z3950EXEC)
159
160!IF $(LOCAL_LIBRARY)
161all: gsdlrecpt.lib $(Z3950EXEC)
162!ELSE
163all: $(EXEC)
164!ENDIF
165
166gsdlrecpt.lib : $(COMMONOBJECTS) $(Z_CLIENTOBJS)
167 if EXIST gsdlrecpt.lib del gsdlrecpt.lib
168 $(AR) -nologo /out:gsdlrecpt.lib $(COMMONOBJECTS) $(Z_CLIENTOBJS)
169
170clean:
171 del *.obj
172 del library.exe
173 del z3950server.exe
174!IF $(LOCAL_LIBRARY)
175install:
176!ELSE
177install:
178 copy library.exe "$(GSDLHOME)\cgi-bin"
179!ENDIF
180!IF $(USE_Z3950)
181 copy z3950server.exe "$(GSDLHOME)\cgi-bin"
182!ENDIF
183
184
185yaz_zclient.obj: yaz_zclient.c
186 $(COMPILE) -I"$(YAZDIR)\include" -I"$(YAZDIR)\client" yaz_zclient.c
187
188library.exe: $(OBJECTS) $(Z_CLIENTOBJS)
189 $(LINK) $(OBJECTS) $(LIBS) $(Z_LIBYAZ) $(Z_CLIENTOBJS) $(LDFLAGS)
190
191Z3950_OBJS_OLD = $(COMMONOBJECTS) $(COLSERVROBJECTS)\
192 ../colservr/z3950parser.o ../colservr/z3950explain.o \
193 ../colservr/z3950_to_gsdl.o \
194 ../colservr/z3950server.o ../colservr/read-grs.o nullproto.o \
195 ../../lib/gsdllib.a \
196 ../../packages/mg/src/text/libtextin.a \
197 ../../packages/mg/lib/libmg.a \
198 $(FASTCGI_OBJS) \
199 ../mgpp/text/libtextin.a \
200 ../mgpp/lib/libmg.a ../../packages/yaz/lib/libyaz.a ../../packages/d2m/libd2m.a
201
202Z3950_OBJS = "$(GSDLHOME)\src\colservr\gsdlz3950.lib" \
203 "$(YAZDIR)\lib\yaz.lib" \
204 "$(GSDLHOME)\packages\d2m\libd2m.lib" \
205 zparse.yy.obj comtypes.obj infodbclass.obj \
206 OIDtools.obj recptconfig.obj recptproto.obj \
207 nullproto.obj
208
209z3950server.exe: $(Z3950_OBJS)
210 @echo building z3950server
211 $(LINK) $(Z3950_OBJS) $(LIBS) $(LDFLAGS)
212
213# we want the following to always be compiled in case the status of
214# GSDL_LOCAL_LIBRARY has changed
215statusaction.obj: FORCE
216configaction.obj: FORCE
217
218FORCE:
219
Note: See TracBrowser for help on using the repository browser.