⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 makefile

📁 harvest是一个下载html网页得机器人
💻
📖 第 1 页 / 共 2 页
字号:
# Copyright (C) 1994-2003, Index Data# All rights reserved.# $Id: makefile,v 1.64 2003/09/04 18:52:02 adam Exp $## Programmed by#  HL: Heikki Levanto, Index Data########################################################################### Parameters ###########################################################DEBUG=0   # 0 for release, 1 for debug# TCLTCL="C:\Tcl\bin\tclsh84.exe"#TCL="C:\Program Files\Tcl\bin\tclsh83.exe"HAVE_TCL=1# iconv charcter conversion utilityHAVE_ICONV=1ICONV_DIR = c:\iconv-1.8.win32# libxml2HAVE_LIBXML2=1LIBXML2_DIR=c:\libxml2-2.5.10.win32# WIN32 binaries libxml2 & iconv from here:#  http://www.zlatkovic.com/projects/libxml/binaries.html# bisonHAVE_BISON=1BISON=bisondefault: allall: dirs generate dll client ztest zoomsh cqlprog iconv libxml2NSIS="c:\program files\nsis\makensis-bz2.exe"nsis: all	$(NSIS) yaz.nsinsishelp:	$(NSIS)generate: generated_files########################################################################## Directories############################################################ The current directory is supposed to be something like# ..../yaz/win, everything is relative to thatROOTDIR=..   # The home of yazINCLDIR=$(ROOTDIR)\include  # our includesLIBDIR=$(ROOTDIR)\lib       # We produce .lib, .exp etc thereBINDIR=$(ROOTDIR)\bin       # We produce exes and dlls thereWINDIR=$(ROOTDIR)\win       # all these Win make thingsOBJDIR=$(WINDIR)\obj        # where we store intermediate filesUNIXDIR=$(ROOTDIR)\unix     # corresponding unix thingsSRCDIR=$(ROOTDIR)           # for the case we move them under srcASNDIR=$(SRCDIR)\ASNCOMSTACKDIR=$(SRCDIR)\COMSTACKODRDIR=$(SRCDIR)\ODRUTILDIR=$(SRCDIR)\UTILZUTILDIR=$(SRCDIR)\ZUTILRETDIR=$(SRCDIR)\RETRIEVALZ3950DIR=$(SRCDIR)\Z39.50ILLDIR=$(SRCDIR)\illCCLDIR=$(SRCDIR)\cclZOOMDIR=$(SRCDIR)\zoomCQLDIR=$(SRCDIR)\cqlCLIENTDIR=$(SRCDIR)\CLIENTSERVERDIR=$(SRCDIR)\SERVERZTESTDIR=$(SRCDIR)\ZTESTTMPDIR=$(ROOTDIR)\win\tmpTMP=$(TMPDIR)########################################################################## Targets - what to make###########################################################DLL=$(BINDIR)\yaz.dllIMPLIB=$(LIBDIR)\yaz.libCLIENT=$(BINDIR)\yaz-client.exeZOOMSH=$(BINDIR)\zoomsh.exeZTEST=$(BINDIR)\yaz-ztest.exeZOOMTST1=$(BINDIR)\zoomtst1.exeZOOMTST2=$(BINDIR)\zoomtst2.exeZOOMTST3=$(BINDIR)\zoomtst3.exeZOOMTST4=$(BINDIR)\zoomtst4.exeZOOMTST5=$(BINDIR)\zoomtst5.exeZOOMTST6=$(BINDIR)\zoomtst6.exeZOOMTST7=$(BINDIR)\zoomtst7.exeZOOMTST8=$(BINDIR)\zoomtst8.exeCQL2PQF=$(BINDIR)\cql2pqf.exeCQL2XCQL=$(BINDIR)\cql2xcql.exe# shortcut names defined heredll : $(DLL) client: $(CLIENT)ztest: $(ZTEST)zoomsh: $(ZOOMSH) $(ZOOMTST1) $(ZOOMTST2) $(ZOOMTST3) \ $(ZOOMTST4) $(ZOOMTST5) $(ZOOMTST6) $(ZOOMTST7) $(ZOOMTST8)cqlprog: $(CQL2PQF) $(CQL2XCQL)########################################################################## Compiler and linker options ###########################################################!if $(HAVE_ICONV)ICONV_DEF= \  /D HAVE_ICONV_H=1 \  /I"$(ICONV_DIR)\include"ICONV_LIB= \  $(ICONV_DIR)\lib\iconv.libiconv: $(BINDIR)\iconv.dll$(BINDIR)\iconv.dll:  copy $(ICONV_DIR)\lib\iconv.dll $(BINDIR)!elseICONV_DEF= \  /D HAVE_ICONV_H=0ICONV_LIB=iconv:!endif!if $(HAVE_LIBXML2)LIBXML2_LIB=$(LIBXML2_DIR)\lib\libxml2.libLIBXML2_DEF=/D HAVE_XML2=1 /I"$(LIBXML2_DIR)\include"libxml2: $(BINDIR)\libxml2.dll$(BINDIR)\libxml2.dll:  copy $(LIBXML2_DIR)\lib\libxml2.dll $(BINDIR)!elseLIBXML2_LIB=LIBXML2_DEF=/D HAVE_XML2=0libxml2: !endif### C and CPP compiler  (the same thing)# Note: $(CPP) has already been defined in the environment# (if you set things up right!)COMMON_C_OPTIONS=          \  /nologo /W3 /GX /FD /c   \  $(ICONV_DEF)             \  $(LIBXML2_DEF)           \  /D "_WINDOWS"            \  /D "WIN32"               \  /D "HAVE_WCHAR_H=1"      \  /FR"$(OBJDIR)\\"         \  /Fo"$(OBJDIR)\\"         \  /Fd"$(OBJDIR)\\" COMMON_C_INCLUDES= \  /I"$(SRCDIR)\include"DEBUG_C_OPTIONS=  \  /D "_DEBUG"      \  /MDd  /Od /YX /Zi /GmRELEASE_C_OPTIONS=  \  /D "NDEBUG"        \  /MD /O2# /W3  = warning level# /GX  = Enable exception handling# /FD  = Generate file dependencies (what ever they are)# /c   = compile without linking# /FR  = Generate browse info (.sbr file that gets combined into .bsc)# /Fo  = object file name (or at least path)# /Fd  = debug database name (or path)# /MD  = Runtime library: Multithread DLL# /MDd = Runtime library: Multithread DLL (debug)# /Od  = Disable optimising (debug)# /O2  = Optimize for speed# /YX  = Automatic use of precomipled headers# /Gm  = Minimal rebuild (some cpp class stuff)# /Zi  = Program database for debuggers# /ZI  = Pgm database with special "edit&continue" stuff - not available in C5### Linker optionsLINK=link.exeLINK_LIBS= kernel32.lib user32.lib   gdi32.lib   \           advapi32.lib uuid.lib \           wsock32.lib  advapi32.lib \           $(ICONV_LIB) $(LIBXML2_LIB)COMMON_LNK_OPTIONS= /nologo \                    /subsystem:windows \                    /machine:i386 \			  /incremental:noDEBUG_LNK_OPTIONS= /debug RELEASE_LNK_OPTIONS=  /pdb:noneDLL_LINK_OPTIONS= /dll  CLIENT_LINK_OPTIONS = /subsystem:console  ZOOMSH_LINK_OPTIONS = /subsystem:consoleSERVER_LINK_OPTIONS = -lib ZTEST_LINK_OPTIONS = /subsystem:console  CQL2PQF_LINK_OPTIONS = /subsystem:console  CQL2XCQL_LINK_OPTIONS = /subsystem:console  COMMON_TCL_OPTIONS= ..\util\yaz-asncomp -I$(INCLDIR) -i yaz# Final opt variables!if $(DEBUG)COPT=   $(COMMON_C_OPTIONS)   $(DEBUG_C_OPTIONS)     $(COMMON_C_INCLUDES)MTLOPT= $(COMMON_MTL_OPTIONS) $(DEBUG_MTL_OPTIONS)RCOPT=  $(COMMON_RC_OPTIONS)  $(DEBUG_RC_OPTIONS)LNKOPT= $(COMMON_LNK_OPTIONS) $(DEBUG_LNK_OPTIONS)   $(LNK_LIBS)TCLOPT= $(COMMON_TCL_OPTIONS)!elseCOPT=   $(COMMON_C_OPTIONS)   $(RELEASE_C_OPTIONS)   $(COMMON_C_INCLUDES) MTLOPT= $(COMMON_MTL_OPTIONS) $(RELEASE_MTL_OPTIONS)RCOPT=  $(COMMON_RC_OPTIONS)  $(RELEASE_RC_OPTIONS)LNKOPT= $(COMMON_LNK_OPTIONS) $(RELEASE_LNK_OPTIONS) $(LNK_LIBS)TCLOPT= $(COMMON_TCL_OPTIONS)!endif##########################################################################  Source and object modules############################################################ Note: Ordinary source files are not specified here at # all, make finds them in suitable dirs. The object modules# need to be specified, thoughYAZ_CLIENT_OBJS= \   $(OBJDIR)\client.obj \   $(OBJDIR)\tabcomplete.obj \   $(OBJDIR)\admin.objYAZ_ZOOMSH_OBJS = \   $(OBJDIR)\zoomsh.objYAZ_ZOOMTST1_OBJS = \   $(OBJDIR)\zoomtst1.objYAZ_ZOOMTST2_OBJS = \   $(OBJDIR)\zoomtst2.objYAZ_ZOOMTST3_OBJS = \   $(OBJDIR)\zoomtst3.objYAZ_ZOOMTST4_OBJS = \   $(OBJDIR)\zoomtst4.objYAZ_ZOOMTST5_OBJS = \   $(OBJDIR)\zoomtst5.objYAZ_ZOOMTST6_OBJS = \   $(OBJDIR)\zoomtst6.objYAZ_ZOOMTST7_OBJS = \   $(OBJDIR)\zoomtst7.objYAZ_ZOOMTST8_OBJS = \   $(OBJDIR)\zoomtst8.objYAZ_CQL2PQF_OBJS = \   $(OBJDIR)\cql2pqf.objYAZ_CQL2XCQL_OBJS = \   $(OBJDIR)\cql2xcql.objYAZ_SERVER_OBJS= \	"$(OBJDIR)\eventl.obj" \	"$(OBJDIR)\requestq.obj" \	"$(OBJDIR)\service.obj" \	"$(OBJDIR)\seshigh.obj" \	"$(OBJDIR)\statserv.obj" \	"$(OBJDIR)\tcpdchk.obj" ZTEST_OBJS= \	"$(OBJDIR)\read-marc.obj" \	"$(OBJDIR)\read-grs.obj" \	"$(OBJDIR)\ztest.obj" YAZ_CCL_OBJS= \   $(OBJDIR)\cclerrms.obj \   $(OBJDIR)\cclfind.obj \   $(OBJDIR)\cclptree.obj \   $(OBJDIR)\cclqfile.obj \   $(OBJDIR)\cclqual.obj \   $(OBJDIR)\cclstr.obj \   $(OBJDIR)\ccltoken.objYAZ_COMSTACK_OBJS= \   $(OBJDIR)\comstack.obj \   $(OBJDIR)\tcpip.obj \   $(OBJDIR)\waislen.obj YAZ_ODR_OBJS= \   $(OBJDIR)\ber_any.obj \   $(OBJDIR)\ber_bit.obj \   $(OBJDIR)\ber_bool.obj \   $(OBJDIR)\ber_int.obj \   $(OBJDIR)\ber_len.obj \   $(OBJDIR)\ber_null.obj \   $(OBJDIR)\ber_oct.obj \   $(OBJDIR)\ber_oid.obj \   $(OBJDIR)\ber_tag.obj \   $(OBJDIR)\dumpber.obj \   $(OBJDIR)\odr.obj \   $(OBJDIR)\odr_any.obj \   $(OBJDIR)\odr_bit.obj \   $(OBJDIR)\odr_bool.obj \   $(OBJDIR)\odr_choice.obj \   $(OBJDIR)\odr_cons.obj \   $(OBJDIR)\odr_enum.obj \   $(OBJDIR)\odr_int.obj \   $(OBJDIR)\odr_mem.obj \   $(OBJDIR)\odr_null.obj \   $(OBJDIR)\odr_oct.obj \   $(OBJDIR)\odr_oid.obj \   $(OBJDIR)\odr_seq.obj \   $(OBJDIR)\odr_tag.obj \   $(OBJDIR)\odr_use.obj \   $(OBJDIR)\odr_util.obj YAZ_UTIL_OBJS= \   $(OBJDIR)\version.obj \   $(OBJDIR)\atoin.obj \   $(OBJDIR)\log.obj \   $(OBJDIR)\marcdisp.obj \   $(OBJDIR)\nmem.obj \   $(OBJDIR)\nmemsdup.obj \   $(OBJDIR)\oid.obj \   $(OBJDIR)\options.obj \   $(OBJDIR)\readconf.obj \   $(OBJDIR)\tpath.obj \   $(OBJDIR)\wrbuf.obj \   $(OBJDIR)\xmalloc.obj \   $(OBJDIR)\matchstr.obj \   $(OBJDIR)\siconv.obj \   $(OBJDIR)\marc8.objYAZ_ZUTIL_OBJS= \   $(OBJDIR)\diagbib1.obj \   $(OBJDIR)\zget.obj \   $(OBJDIR)\logrpn.obj \   $(OBJDIR)\pquery.obj \   $(OBJDIR)\yaz-ccl.obj \   $(OBJDIR)\otherinfo.obj \   $(OBJDIR)\sortspec.obj \   $(OBJDIR)\z3950oid.obj \   $(OBJDIR)\charneg.obj \   $(OBJDIR)\grs1disp.obj \   $(OBJDIR)\opacdisp.obj \   $(OBJDIR)\zgdu.obj \   $(OBJDIR)\soap.obj \   $(OBJDIR)\srw.obj \   $(OBJDIR)\zoom-c.obj \   $(OBJDIR)\zoom-opt.objZ3950_OBJS= \   $(OBJDIR)\z-date.obj\   $(OBJDIR)\z-univ.obj\   $(OBJDIR)\zes-update.obj\   $(OBJDIR)\zes-admin.obj \   $(OBJDIR)\z-accdes1.obj \   $(OBJDIR)\z-accform1.obj \   $(OBJDIR)\z-acckrb1.obj \   $(OBJDIR)\z-core.obj \   $(OBJDIR)\z-diag1.obj \   $(OBJDIR)\z-espec1.obj \   $(OBJDIR)\z-estask.obj \   $(OBJDIR)\z-exp.obj \   $(OBJDIR)\z-grs.obj \   $(OBJDIR)\z-opac.obj \   $(OBJDIR)\z-uifr1.obj \   $(OBJDIR)\z-rrf1.obj \   $(OBJDIR)\z-rrf2.obj \   $(OBJDIR)\z-sum.obj \   $(OBJDIR)\z-sutrs.obj \   $(OBJDIR)\zes-expi.obj \   $(OBJDIR)\zes-exps.obj \   $(OBJDIR)\zes-order.obj \   $(OBJDIR)\zes-pquery.obj \   $(OBJDIR)\zes-psched.obj \   $(OBJDIR)\zes-pset.obj \   $(OBJDIR)\zes-update0.obj \   $(OBJDIR)\prt-ext.obj \   $(OBJDIR)\z-charneg.obj \   $(OBJDIR)\z-mterm2.obj \   $(OBJDIR)\z-oclcui.objILL_OBJS= \   $(OBJDIR)\ill-get.obj\   $(OBJDIR)\ill-core.obj\   $(OBJDIR)\item-req.objYAZ_CQL_OBJS = \   $(OBJDIR)\cql.obj \   $(OBJDIR)\cqlstdio.obj \   $(OBJDIR)\cqlstring.obj \   $(OBJDIR)\cqltransform.obj \   $(OBJDIR)\cqlutil.obj \   $(OBJDIR)\cqlstrer.obj \   $(OBJDIR)\xcqlutil.objYAZ_OBJS =\   $(YAZ_UTIL_OBJS) \   $(YAZ_ODR_OBJS) \   $(YAZ_COMSTACK_OBJS) \   $(Z3950_OBJS) \   $(ILL_OBJS) \   $(YAZ_ZUTIL_OBJS) \   $(YAZ_CCL_OBJS) \   $(YAZ_CQL_OBJS) \   $(YAZ_SERVER_OBJS)DLL_OBJS= $(YAZ_OBJS)ALL_OBJS= \	$(YAZ_OBJS) \	$(YAZ_CLIENT_OBJS) \	$(ZTEST_OBJS)########################################################################## Generated C and H files###########################################################Z3950_C_DIR=$(Z3950DIR)   ILL_C_DIR=$(ILLDIR)#!!! Should be moved to OBJ, but that requires too much trickery# Files generated from datetime.asnDATETIME_H_FILES = $(INCLDIR)\yaz\z-date.hDATETIME_C_FILES = $(Z3950_C_DIR)\z-date.c# Files generated from univres.asnUNIVRES_H_FILES = $(INCLDIR)\yaz\z-univ.hUNIVRES_C_FILES = $(Z3950_C_DIR)\z-univ.c# Files generated from esupdate.asnESUPDATE_H_FILES = $(INCLDIR)\yaz\zes-update.hESUPDATE_C_FILES = $(Z3950_C_DIR)\zes-update.c# Files generated from esadmin.asnESADMIN_H_FILES = $(INCLDIR)\yaz\zes-admin.hESADMIN_C_FILES = $(Z3950_C_DIR)\zes-admin.c# Files generated from esadmin.asnCHARNEG_H_FILES = $(INCLDIR)\yaz\z-charneg.hCHARNEG_C_FILES = $(Z3950_C_DIR)\z-charneg.c# Files generated from mterm2.asnMTERM2_H_FILES = $(INCLDIR)\yaz\z-mterm2.hMTERM2_C_FILES = $(Z3950_C_DIR)\z-mterm2.c# Files generated from mterm2.asnOCLCUI_H_FILES = $(INCLDIR)\yaz\z-oclcui.hOCLCUI_C_FILES = $(Z3950_C_DIR)\z-oclcui.c# Files created from z3950v3.asnZ3950V3_H_FILES= \   $(INCLDIR)\yaz\z-accdes1.h \   $(INCLDIR)\yaz\z-core.hZ3950V3_C_FILES= \   $(Z3950_C_DIR)\z-accdes1.c \   $(Z3950_C_DIR)\z-accform1.c \   $(Z3950_C_DIR)\z-acckrb1.c \   $(Z3950_C_DIR)\z-core.c \   $(Z3950_C_DIR)\z-diag1.c \   $(Z3950_C_DIR)\z-espec1.c \   $(Z3950_C_DIR)\z-estask.c \   $(Z3950_C_DIR)\z-exp.c \   $(Z3950_C_DIR)\z-grs.c \   $(Z3950_C_DIR)\z-opac.c \   $(Z3950_C_DIR)\z-uifr1.c \   $(Z3950_C_DIR)\z-rrf1.c \   $(Z3950_C_DIR)\z-rrf2.c \   $(Z3950_C_DIR)\z-sum.c \   $(Z3950_C_DIR)\z-sutrs.c \   $(Z3950_C_DIR)\zes-expi.c \   $(Z3950_C_DIR)\zes-exps.c \   $(Z3950_C_DIR)\zes-order.c \   $(Z3950_C_DIR)\zes-pquery.c \   $(Z3950_C_DIR)\zes-psched.c \   $(Z3950_C_DIR)\zes-pset.c \   $(Z3950_C_DIR)\zes-update0.c# Files generated from ill9702.asnILL_CORE_H_FILES= \   $(INCLDIR)\yaz\ill-core.hILL_CORE_C_FILES= \   $(ILL_C_DIR)\ill-core.c# Files generated from itemreq.asnITEM_REQ_H_FILES= \   $(INCLDIR)\yaz\item-req.hITEM_REQ_C_FILES= \   $(ILL_C_DIR)\item-req.c# Combined..DATETIME_FILES = $(DATETIME_H_FILES) $(DATETIME_C_FILES)UNIVRES_FILES = $(UNIVRES_H_FILES) $(UNIVRES_C_FILES)ESUPDATE_FILES = $(ESUPDATE_H_FILES) $(ESUPDATE_C_FILES)ESADMIN_FILES = $(ESADMIN_H_FILES) $(ESADMIN_C_FILES)Z3950V3_FILES= $(Z3950V3_C_FILES) $(Z3950V3_H_FILES)ILL_CORE_FILES= $(ILL_CORE_C_FILES) $(ILL_CORE_H_FILES)ITEM_REQ_FILES= $(ITEM_REQ_C_FILES) $(ITEM_REQ_H_FILES)CHARNEG_FILES = $(CHARNEG_C_FILES) $(CHARNEG_H_FILES)MTERM2_FILES = $(MTERM2_C_FILES) $(MTERM2_H_FILES)OCLCUI_FILES = $(OCLCUI_C_FILES) $(OCLCUI_H_FILES)GENERATED_C_FILES= \   $(Z3950V3_C_FILES)  \   $(ESUPDATE_C_FILES) \   $(UNIVRES_C_FILES)  \   $(DATETIME_C_FILES) \   $(ESADMIN_C_FILES) \   $(CHARNEG_C_FILES) \   $(MTERM2_C_FILES) \   $(OCLCUI_C_FILES)GENERATED_H_FILES= \   $(Z3950V3_H_FILES)  \   $(ESUPDATE_H_FILES) \   $(UNIVRES_H_FILES)  \   $(DATETIME_H_FILES) \   $(ESADMIN_H_FILES) \   $(CHARNEG_H_FILES) \   $(MTERM2_H_FILES) \   $(OCLCUI_H_FILES)generated_files: \	$(GENERATED_H_FILES) \	$(GENERATED_C_FILES) \########################################################################## Compiling ############################################################ Note: This defines where to look for the necessary# source files. Funny way of doing it, but it works.# DLL sources{$(SRCDIR)}.cpp{$(OBJDIR)}.obj:	@$(CPP) $(COPT) $<# yaz client{$(CLIENTDIR)}.c{$(OBJDIR)}.obj:	@$(CPP) $(COPT) $< /D"_CONSOLE"# Ztest{$(ZTESTDIR)}.c{$(OBJDIR)}.obj:	@$(CPP) $(COPT) $< /D"_CONSOLE"# Server{$(SERVERDIR)}.c{$(OBJDIR)}.obj:	$(CPP) $(COPT) $< # Various YAZ source directories{$(ASNDIR)}.c{$(OBJDIR)}.obj:	$(CPP) $(COPT) $< 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -