X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=win%2Fmakefile;h=d86601fec5cf4f303e1293baa79886308ccc5d12;hb=b58f834c58793ae2f098a7da470f521c512784f3;hp=e7de5bfbc60704da9b8b8b9fa174bcd0d13c1b21;hpb=25fa35a0e1f84fa9b6366d71ee5b2ab58a2bd468;p=yaz-moved-to-github.git diff --git a/win/makefile b/win/makefile index e7de5bf..d86601f 100644 --- a/win/makefile +++ b/win/makefile @@ -1,5 +1,5 @@ # Makefile.mak - makefile for MS NMAKE -# $Id: makefile,v 1.4 1999-06-09 09:41:09 heikki Exp $ +# $Id: makefile,v 1.8 1999-07-21 08:48:02 adam Exp $ # # Programmed by # HL: Heikki Levanto, Index Data @@ -25,7 +25,7 @@ DEBUG=0 # 0 for release, 1 for debug -NEW_Z3950=1 # 0= use old asn files +NEW_Z3950=0 # 0= use old asn files # 1= generate files from *.asn (needs tcl) @@ -33,6 +33,7 @@ default: all all: dirs proto_h dll client server ztest +generate: generated_files ########################################################### ############### Directories @@ -127,12 +128,6 @@ RELEASE_C_OPTIONS= \ # /Zi = Program database for debuggers # /ZI = Pgm database with special "edit&continue" stuff - not available in C5 -### The RC compiler (resource files) -RSC=rc.exe -COMMON_RC_OPTIONS= /l 0x406 /i"$(ROOTDIR)" -DEBUG_RC_OPTIONS=/d "_DEBUG" -RELEASE_RC_OPTIONS=/d "NDEBUG" - ### Linker options LINK=link.exe @@ -159,7 +154,7 @@ ZTEST_LINK_OPTIONS = /subsystem:console # TCL TCL="C:\Program Files\Tcl\bin\tclsh80.exe" -COMMON_TCL_OPTIONS= ..\util\yc.tcl -d z.tcl +COMMON_TCL_OPTIONS= ..\util\yc.tcl -d z.tcl -I$(INCLDIR) # Final opt variables @@ -184,22 +179,6 @@ TCLOPT= $(COMMON_TCL_OPTIONS) ############### Source and object modules ########################################################### -# The resource files - -RCFILE=$(SRCDIR)\compmak.rc -# Horrible Hack: The resfile contains just one line, pointing -# to the component.tlb file (which is created by the idl compiler) -# Devstudio wants that file to live in YazX3950, this makefile in -# win/obj. So we need to RC files! - -RESFILE=$(OBJDIR)\component.res - - -# The def file -#DEF_FILE= $(ROOTDIR)\component.def - - - # Note: Ordinary source files are not specified here at # all, make finds them in suitable dirs. The object modules # need to be specified, though @@ -270,7 +249,6 @@ YAZ_ODR_OBJS= \ YAZ_UTIL_OBJS= \ $(OBJDIR)\atoin.obj \ - $(OBJDIR)\dmalloc.obj \ $(OBJDIR)\log.obj \ $(OBJDIR)\marcdisp.obj \ $(OBJDIR)\nmem.obj \ @@ -289,7 +267,6 @@ YAZ_ZUTIL_OBJS= \ $(OBJDIR)\prt-ext.obj \ $(OBJDIR)\logrpn.obj \ $(OBJDIR)\pquery.obj \ - $(OBJDIR)\query.obj \ $(OBJDIR)\yaz-ccl.obj \ $(OBJDIR)\otherinfo.obj @@ -312,8 +289,10 @@ YAZ_RET_OBJS= \ $(OBJDIR)\d1_varset.obj\ $(OBJDIR)\d1_write.obj - Z3950_OBJS= \ + $(OBJDIR)\z-date.obj\ + $(OBJDIR)\z-univ.obj\ + $(OBJDIR)\zes-update.obj\ $(OBJDIR)\z-accdes1.obj \ $(OBJDIR)\z-accform1.obj \ $(OBJDIR)\z-acckrb1.obj \ @@ -356,6 +335,11 @@ YAZ_OBJS= \ DLL_OBJS= $(YAZ_OBJS) +ALL_OBJS= \ + $(YAZ_OBJS) \ + $(YAZ_CLIENT_OBJS) \ + $(YAZ_SERVER_OBJS) \ + $(ZTEST_OBJS) ########################################################## @@ -363,40 +347,32 @@ DLL_OBJS= $(YAZ_OBJS) ########################################################## !if $(NEW_Z3950) -$(PROTOH): makefile $(INCLDIR)\z-proto.h $(Z3950V3_H_FILES) - copy $(INCLDIR)\z-proto.h $(INCLDIR)\proto.h +$(PROTOH): makefile $(INCLDIR)\z-proto.h + type $(INCLDIR)\z-proto.h > $(INCLDIR)\proto.h !else $(PROTOH): makefile $(INCLDIR)\prt-proto.h - copy $(INCLDIR)\prt-proto.h $(INCLDIR)\proto.h + type $(INCLDIR)\prt-proto.h > $(INCLDIR)\proto.h !endif - ########################################################### ############### Generated C and H files ########################################################### -Z3950_C_DIR=$(Z3950DIR) #!!! Should be moved to OBJ +Z3950_C_DIR=$(Z3950DIR) +#!!! Should be moved to OBJ, but that requires too much trickery # Files generated from datetime.asn -DATETIME_H_FILES = z-date.h -DATETIME_C_FILES = z-date.c -DATETIME_FILES = $(DATETIME_H_FILES) $(DATETIME_C_FILES) -$(DATETIME_C_FILES): $(DATETIME_H_FILES) - +DATETIME_H_FILES = $(INCLDIR)\z-date.h +DATETIME_C_FILES = $(Z3950_C_DIR)\z-date.c # Files generated from univres.asn -UNIVRES_H_FILES = z-univ.h -UNIVRES_C_FILES = z-univ.c -UNIVRES_FILES = $(UNIVRES_H_FILES) $(UNIVRES_C_FILES) -$(UNIVRES_C_FILES): $(UNIVRES_H_FILES) +UNIVRES_H_FILES = $(INCLDIR)\z-univ.h +UNIVRES_C_FILES = $(Z3950_C_DIR)\z-univ.c # Files generated from esupdate.asn -ESUPDATE_H_FILES = zes-update.h -ESUPDATE_C_FILES = zes-update.c -ESUPDATE_FILES = $(ESUPDATE_H_FILES) $(ESUPDATE_C_FILES) -$(ESUPDATE_C_FILES): $(ESUPDATE_H_FILES) - +ESUPDATE_H_FILES = $(INCLDIR)\zes-update.h +ESUPDATE_C_FILES = $(Z3950_C_DIR)\zes-update.c # Files created from z3950v3.asn Z3950V3_H_FILES= \ @@ -427,10 +403,11 @@ Z3950V3_C_FILES= \ $(Z3950_C_DIR)\zes-pset.c \ $(Z3950_C_DIR)\zes-update0.c +DATETIME_FILES = $(DATETIME_H_FILES) $(DATETIME_C_FILES) +UNIVRES_FILES = $(UNIVRES_H_FILES) $(UNIVRES_C_FILES) +ESUPDATE_FILES = $(ESUPDATE_H_FILES) $(ESUPDATE_C_FILES) Z3950V3_FILES= $(Z3950V3_C_FILES) $(Z3950V3_H_FILES) -$(Z3950V3_C_FILES): $(Z3950V3_H_FILES) - GENERATED_C_FILES= \ $(Z3950V3_C_FILES) \ $(ESUPDATE_C_FILES) \ @@ -443,6 +420,10 @@ GENERATED_H_FILES= \ $(UNIVRES_H_FILES) \ $(DATETIME_H_FILES) +generated_files: \ + $(GENERATED_H_FILES) \ + $(GENERATED_C_FILES) \ + $(PROTOH) ########################################################### ############### Compiling @@ -453,103 +434,69 @@ GENERATED_H_FILES= \ # DLL sources {$(SRCDIR)}.cpp{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< # Yaz client {$(CLIENTDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< - /D"_CONSOLE" -<< + @$(CPP) $(COPT) $< /D"_CONSOLE" # Ztest {$(ZTESTDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< - /D"_CONSOLE" - /D"_MBCS" -<< - + @$(CPP) $(COPT) $< /D"_CONSOLE" /D"_MBCS" # Server {$(SERVERDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< # Various YAZ source directories {$(ASNDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< {$(COMSTACKDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< {$(ODRDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< {$(UTILDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< {$(ZUTILDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< {$(RETDIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< - + @$(CPP) $(COPT) $< {$(Z3950_C_DIR)}.c{$(OBJDIR)}.obj: - @$(CPP) @<< - $(COPT) $< -<< + @$(CPP) $(COPT) $< -### Resource file -$(RESFILE): $(RCFILE) $(IDLGENERATED) - $(RSC) $(RCOPT) /fo"$(RESFILE)" $(RCFILE) ############### ASN-generated files - $(Z3950V3_FILES): $(Z3950DIR)\z3950v3.asn @cd $(Z3950DIR) $(TCL) $(TCLOPT) z3950v3.asn - copy *.h $(INCLDIR) >NUL + @cd $(WINDIR) $(DATETIME_FILES): $(Z3950DIR)\datetime.asn @cd $(Z3950DIR) $(TCL) $(TCLOPT) datetime.asn - copy *.h $(INCLDIR) >NUL + @cd $(WINDIR) $(UNIVRES_FILES): $(Z3950DIR)\univres.asn @cd $(Z3950DIR) $(TCL) $(TCLOPT) univres.asn - copy *.h $(INCLDIR) >NUL + @cd $(WINDIR) $(ESUPDATE_FILES): $(Z3950DIR)\esupdate.asn @cd $(Z3950DIR) $(TCL) $(TCLOPT) esupdate.asn - copy *.h $(INCLDIR) >NUL - + @cd $(WINDIR) ########################################################### ############### Linking ########################################################### -###$(DLL) $(IMPLIB): "$(BINDIR)" $(Z3950_OBJS) - $(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS) @echo Linking the dll $(DLL) $(LINK) @<< @@ -563,19 +510,10 @@ $(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS) /map:"$(LIBDIR)/yaz.map" << -#foo: -# rem $(Z3950_OBJS) -# pause -# rem $(DLL_OBJS) - -foo: $(OBJDIR)\comstack.obj - echo foo - - $(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) @echo Linking the client $(CLIENT) $(LINK) @<< - $(LNKOPT) + $(LNKOPT) $(CLIENT_LINK_OPTIONS) $(LINK_LIBS) $(IMPLIB) @@ -586,7 +524,7 @@ $(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) $(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(SERVER) $(DLL) @echo Linking the ztest $(ZTEST) $(LINK) @<< - $(LNKOPT) + $(LNKOPT) $(ZTEST_LINK_OPTIONS) $(LINK_LIBS) shell32.lib @@ -606,8 +544,6 @@ $(SERVER) : "$(BINDIR)" $(YAZ_SERVER_OBJS) /out:$(SERVER) << -# $(LINK_LIBS) - # note that this links a lib, so it uses completely different options. @@ -627,7 +563,19 @@ clean: del $(ZTEST) del $(TMPDIR)\*. del $(PROTOH) + +realclean: clean del $(Z3950_C_DIR)\*.c + del $(Z3950_C_DIR)\*.h + del $(INCLDIR)\z-accdes1.h + del $(INCLDIR)\z-core.h + del $(DATETIME_H_FILES) + del $(UNIVRES_H_FILES) + del $(ESUPDATE_H_FILES) + +# Because DOS del will only accept one file name to delete, +# the _H_ files work only on sets that have just one file. +# Z3950_H_FILES had to be spelled out. One more point for MS! ########### check directories and create if needed dirs: $(OBJDIR) $(WINDIR) $(LIBDIR) $(BINDIR) $(TMPDIR) @@ -640,23 +588,37 @@ $(OBJDIR) $(WINDIR) $(LIBDIR) $(BINDIR) $(TMPDIR): ############### Explicit dependencies ########################################################### -$(DLL_OBJS): makefile $(PROTOH) $(GENERATED_C_FILES) +$(ALL_OBJS): makefile $(PROTOH) -# Note: The objects depend on their own C file already, the -# dependency here is actually to make sure we get the -# proper H files generated before trying to compile anything -# Unfortunately make clean can not delete the H files so -# easily. This hack assures that if the C's are deleted -# (as make clean does), the H's will be generated anew... +# force recompilation of everything, if makefile changed +$(Z3950_OBJS): $(GENERATED_C_FILES) $(GENERATED_H_FILES) +!if $(NEW_Z3950) +$(PROTOH): $(GENERATED_C_FILES) $(GENERATED_H_FILES) +!endif +# makes sure we generate before compiling anything, as the +# new proto.h refers to the generated files, and is included +# in various places ########################################################### ############### Log ########################################################### # # $Log: makefile,v $ -# Revision 1.4 1999-06-09 09:41:09 heikki +# Revision 1.8 1999-07-21 08:48:02 adam +# Removed dmalloc.obj. +# +# Revision 1.7 1999/06/09 15:10:08 heikki +# Cleaning up. Seems to work all right +# +# Revision 1.6 1999/06/09 13:33:32 heikki +# Compiles and links both old and new type stuff all right +# +# Revision 1.5 1999/06/09 11:05:30 heikki +# At least it can compile +# +# Revision 1.4 1999/06/09 09:41:09 heikki # More work on the ASN-generated files. # # Revision 1.3 1999/06/08 14:32:30 heikki