########################################################################### # # win32 makefile -- src/recpt # A component of the Greenstone digital library software # from the New Zealand Digital Library Project at the # University of Waikato, New Zealand. # # Copyright (C) 1999 The New Zealand Digital Library Project # # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # ########################################################################### GSDLHOME = ..\.. GSDL_VC4 = 0 LOCAL_LIBRARY = 0 USE_Z3950 = 0 DLL = 0 DLLDEBUG = 0 ENABLE_ACCENTFOLD = 1 STLPATH = "$(GSDLHOME)\packages\windows\stlport\stlport" # YAZ kit for z39.50 YAZDIR=$(GSDLHOME)\packages\yaz\yaz-2.1.4 AR = lib CC = cl !IF $(GSDL_VC4) CPPFLAGS = -GX !ELSE CPPFLAGS = -EHsc !ENDIF !IF $(DLL) CPPFLAGS = $(CPPFLAGS) -MD !ELSE !IF ($(DLLDEBUG)) CPPFLAGS = $(CPPFLAGS) -MDd !ENDIF !ENDIF LDFLAGS = DEFS = -D__WIN32__ -DHAVE_CONFIG_H -DPARADOCNUM -D_LITTLE_ENDIAN -DSHORT_SUFFIX -D_CRT_SECURE_NO_DEPRECATE -DGSDL_NOCACHE INCLUDES = -I"$(GSDLHOME)\src\recpt" -I"$(GSDLHOME)\lib" -I"$(GSDLHOME)\src\colservr" \ -I"$(GSDLHOME)\packages\mg" -I"$(GSDLHOME)\packages\mg\lib" \ -I"$(GSDLHOME)\packages\mg\src\text" -I"$(GSDLHOME)\packages\windows\gdbm\gdbm" \ -I"$(GSDLHOME)\packages\windows\crypt\crypt" -I"$(GSDLHOME)\src\mgpp\lib" \ -I"$(GSDLHOME)\src\mgpp\text" -I"$(GSDLHOME)" !IF $(GSDL_VC4) DEFS = $(DEFS) -DGSDL_NAMESPACE_BROKEN -DGSDL_USE_IOS_H -D__STL_NO_NEW_IOSTREAMS INCLUDES = $(INCLUDES) -I$(STLPATH) !ENDIF !IF $(LOCAL_LIBRARY) DEFS = $(DEFS) -DGSDL_LOCAL_LIBRARY !ENDIF !IF $(ENABLE_ACCENTFOLD) AFLIBS = "$(GSDLHOME)\packages\unac\libunac.lib" "$(GSDLHOME)\packages\unac\iconv.lib" DEFS = $(DEFS) -DENABLE_ACCENTFOLD !ELSE AFLIBS = !ENDIF LIBS = "$(GSDLHOME)\packages\windows\gdbm\gdbm\gdbm.lib" \ "$(GSDLHOME)\packages\windows\crypt\crypt\crypt.lib" \ "$(GSDLHOME)\src\colservr\gsdlcolservr.lib" \ "$(GSDLHOME)\lib\gsdllib.lib" \ "$(GSDLHOME)\packages\mg\src\text\libtextin.lib" \ "$(GSDLHOME)\packages\mg\lib\libmg.lib" \ "$(GSDLHOME)\src\mgpp\text\libtextin.lib" \ "$(GSDLHOME)\src\mgpp\lib\libmg.lib" \ "$(GSDLHOME)\packages\windows\expat\expat\libexpat.lib" \ $(AFLIBS) !IF $(USE_Z3950) DEFS = $(DEFS) -DUSE_Z3950 Z3950EXEC = z3950server.exe Z3950OBJS = z3950proto.obj z3950proxy.obj yaz_zclient.obj zparse.tab.obj zparse.yy.obj Z_CLIENTOBJS = "$(YAZDIR)\win\obj\tabcomplete.obj" Z_LIBYAZ = "$(YAZDIR)\lib\yaz.lib" LDFLAGS = $(LDFLAGS) /link /NOD:msvcrt.lib !ELSE Z3950EXEC = Z3950OBJS = Z_CLIENTOBJS = Z_LIBYAZ = !ENDIF COMPILE = $(CC) -nologo -c $(CPPFLAGS) $(DEFS) $(INCLUDES) LINK = $(CC) -nologo -Fe"$@" .SUFFIXES: .SUFFIXES: .c .obj .c.obj: $(COMPILE) $< .SUFFIXES: .cpp .obj .cpp.obj: $(COMPILE) $< COMMONHEADERS = receptionist.h cgiargs.h action.h browserclass.h \ converter.h recptconfig.h cgiutils.h OIDtools.h browsetoolsclass.h \ statusaction.h pageaction.h comtypes.h recptproto.h pingaction.h \ queryaction.h documentaction.h extlinkaction.h htmlutils.h \ querytools.h formattools.h tipaction.h authenaction.h infodbclass.h \ userdb.h usersaction.h vlistbrowserclass.h hlistbrowserclass.h \ datelistbrowserclass.h invbrowserclass.h pagedbrowserclass.h \ htmlbrowserclass.h historydb.h phindbrowserclass.h collectoraction.h \ nullproto.h argdb.h browseaction.h browseactiontools.h phindaction.h \ summarise.h highlighttext.h configaction.h wizardaction.h depositoraction.h CGIHEADERS = cgiwrapper.h HEADERS = $(COMMONHEADERS) $(CGIHEADERS) COMMONSOURCES = receptionist.cpp cgiargs.cpp action.cpp browserclass.cpp \ converter.cpp recptconfig.cpp cgiutils.cpp OIDtools.cpp browsetoolsclass.cpp \ statusaction.cpp pageaction.cpp comtypes.cpp \ recptproto.cpp pingaction.cpp queryaction.cpp documentaction.cpp \ extlinkaction.cpp htmlutils.cpp querytools.cpp formattools.cpp \ tipaction.cpp authenaction.cpp infodbclass.cpp userdb.cpp usersaction.cpp \ vlistbrowserclass.cpp hlistbrowserclass.cpp datelistbrowserclass.cpp \ invbrowserclass.cpp pagedbrowserclass.cpp htmlbrowserclass.cpp \ historydb.cpp phindbrowserclass.cpp collectoraction.cpp nullproto.cpp \ argdb.cpp browseaction.cpp browseactiontools.cpp phindaction.cpp \ summarise.cpp highlighttext.cpp configaction.cpp wizardaction.cpp \ depositoraction.cpp CGISOURCES = librarymain.cpp cgiwrapper.cpp SOURCES = $(COMMONSOURCES) $(CGISOURCES) COMMONOBJECTS = receptionist.obj cgiargs.obj action.obj browserclass.obj \ converter.obj recptconfig.obj cgiutils.obj OIDtools.obj browsetoolsclass.obj \ statusaction.obj pageaction.obj comtypes.obj recptproto.obj \ pingaction.obj queryaction.obj documentaction.obj extlinkaction.obj \ htmlutils.obj querytools.obj formattools.obj tipaction.obj \ authenaction.obj infodbclass.obj userdb.obj usersaction.obj \ vlistbrowserclass.obj hlistbrowserclass.obj datelistbrowserclass.obj \ invbrowserclass.obj pagedbrowserclass.obj htmlbrowserclass.obj \ historydb.obj phindbrowserclass.obj collectoraction.obj nullproto.obj \ argdb.obj browseaction.obj browseactiontools.obj phindaction.obj \ summarise.obj highlighttext.obj configaction.obj wizardaction.obj \ depositoraction.obj $(Z3950OBJS) CGIOBJECTS = librarymain.obj cgiwrapper.obj OBJECTS = $(COMMONOBJECTS) $(CGIOBJECTS) EXEC = library.exe $(Z3950EXEC) !IF $(LOCAL_LIBRARY) all: gsdlrecpt.lib $(Z3950EXEC) !ELSE all: $(EXEC) !ENDIF gsdlrecpt.lib : $(COMMONOBJECTS) $(Z_CLIENTOBJS) if EXIST gsdlrecpt.lib del gsdlrecpt.lib $(AR) -nologo /out:gsdlrecpt.lib $(COMMONOBJECTS) $(Z_CLIENTOBJS) clean: del *.obj del library.exe del z3950server.exe !IF $(LOCAL_LIBRARY) install: !ELSE install: copy library.exe "$(GSDLHOME)\cgi-bin" !ENDIF !IF $(USE_Z3950) copy z3950server.exe "$(GSDLHOME)\cgi-bin" !ENDIF yaz_zclient.obj: yaz_zclient.c $(COMPILE) -I"$(YAZDIR)\include" -I"$(YAZDIR)\client" yaz_zclient.c library.exe: $(OBJECTS) $(Z_CLIENTOBJS) $(LINK) $(OBJECTS) $(LIBS) $(Z_LIBYAZ) $(Z_CLIENTOBJS) $(LDFLAGS) Z3950_OBJS_OLD = $(COMMONOBJECTS) $(COLSERVROBJECTS)\ ../colservr/z3950parser.o ../colservr/z3950explain.o \ ../colservr/z3950_to_gsdl.o \ ../colservr/z3950server.o ../colservr/read-grs.o nullproto.o \ ../../lib/gsdllib.a \ ../../packages/mg/src/text/libtextin.a \ ../../packages/mg/lib/libmg.a \ $(FASTCGI_OBJS) \ ../mgpp/text/libtextin.a \ ../mgpp/lib/libmg.a ../../packages/yaz/lib/libyaz.a ../../packages/d2m/libd2m.a Z3950_OBJS = "$(GSDLHOME)\src\colservr\gsdlz3950.lib" \ "$(YAZDIR)\lib\yaz.lib" \ "$(GSDLHOME)\packages\d2m\libd2m.lib" \ zparse.yy.obj comtypes.obj infodbclass.obj \ OIDtools.obj recptconfig.obj recptproto.obj \ nullproto.obj z3950server.exe: $(Z3950_OBJS) @echo building z3950server $(LINK) $(Z3950_OBJS) $(LIBS) $(LDFLAGS) # we want the following to always be compiled in case the status of # GSDL_LOCAL_LIBRARY has changed statusaction.obj: FORCE configaction.obj: FORCE FORCE: