X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;ds=sidebyside;f=win%2Fmakefile.mak;h=85da89aa5330993a9d1ac75380265649da3298d0;hb=ea114332560c12eaa8daa8de3d127e56d135b3e3;hp=c926346bd5712fe6d71797a3c7f2165d749b5c65;hpb=59c58f47d1a67496611b9a0f4eb71e9b1d8aa9b5;p=yaz-moved-to-github.git diff --git a/win/makefile.mak b/win/makefile.mak index c926346..85da89a 100644 --- a/win/makefile.mak +++ b/win/makefile.mak @@ -1,17 +1,14 @@ # Makefile.mak - makefile for MS NMAKE +# $Id: makefile.mak,v 1.5 1999-06-04 10:04:28 heikki Exp $ # # Programmed by # HL: Heikki Levanto, Index Data # -# History -# 18-05-99 HL Stole this from YazX, cleaning up +# Log at the end of the file # # Missing -# - get it to work -# - yaz dll -# - client -# - server -# - ztest +# - Move MS-C's whatnots into win direcotry +# - rename to makefile (.nothing) # # Envoronment problems # - You need to have the proper path and environment for VC set @@ -23,11 +20,11 @@ ############### Parameters ########################################################### -DEBUG=1 # 0 for release, 1 for debug +DEBUG=0 # 0 for release, 1 for debug default: all -all: dirs dll client +all: dirs dll client server ztest ########################################################### @@ -45,13 +42,15 @@ OBJDIR=$(WINDIR)\obj # where we store intermediate files UNIXDIR=$(ROOTDIR)\unix # corresponding unix things SRCDIR=$(ROOTDIR) # for the case we move them under src -YAZASNDIR=$(SRCDIR)\ASN -YAZCOMSTACKDIR=$(SRCDIR)\COMSTACK -YAZODRDIR=$(SRCDIR)\ODR -YAZUTILDIR=$(SRCDIR)\UTIL -YAZRETDIR=$(SRCDIR)\RETRIEVAL +ASNDIR=$(SRCDIR)\ASN +COMSTACKDIR=$(SRCDIR)\COMSTACK +ODRDIR=$(SRCDIR)\ODR +UTILDIR=$(SRCDIR)\UTIL +RETDIR=$(SRCDIR)\RETRIEVAL -YAZCLIENTDIR=$(SRCDIR)\CLIENT +CLIENTDIR=$(SRCDIR)\CLIENT +SERVERDIR=$(SRCDIR)\SERVER +ZTESTDIR=$(SRCDIR)\ZTEST ########################################################### ############### Targets - what to make @@ -60,13 +59,17 @@ YAZCLIENTDIR=$(SRCDIR)\CLIENT DLL=$(BINDIR)\Yaz.dll IMPLIB=$(BINDIR)\Yaz.lib -BSCFILE=$(LIBDIR)\Yaz.bsc CLIENT=$(BINDIR)\client.exe +SERVER=$(BINDIR)\server.lib +ZTEST=$(BINDIR)\ztest.exe # shortcut names defined here -dll : $(DLL) $(BSCFILE) +dll : $(DLL) client: $(CLIENT) +server: $(SERVER) +ztest: $(ZTEST) +bsc: $(YAZ_BSCFILE) $(ZTEST_BSCFILE) ########################################################### ############### Compiler and linker options @@ -84,23 +87,32 @@ COMMON_C_OPTIONS= \ /Fo"$(OBJDIR)\\" \ /Fd"$(OBJDIR)\\" -# /Fp"$(OBJDIR)\YazX3950.pch" \ -# /D "_WIN32_DCOM" \ - COMMON_C_INCLUDES= \ /I"$(SRCDIR)\include" -# /I"$(ROOTDIR)" \ -# /I"$(OBJDIR)" - DEBUG_C_OPTIONS= \ /D "_DEBUG" \ - /MD /Od /YX - + /MDd /Od /YX /Zi /Gm + RELEASE_C_OPTIONS= \ /D "NDEBUG" \ - /MDd /O2 /Gm /ZI - + /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 ### The RC compiler (resource files) RSC=rc.exe @@ -112,36 +124,25 @@ RELEASE_RC_OPTIONS=/d "NDEBUG" ### Linker options LINK=link.exe -DLL_LINK_LIBS= kernel32.lib user32.lib gdi32.lib winspool.lib \ +LINK_LIBS= kernel32.lib user32.lib gdi32.lib winspool.lib \ comdlg32.lib advapi32.lib shell32.lib ole32.lib \ oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ - wsock32.lib - - -#odbccp32.lib yaz.lib /nologo /subsystem:console /incremental:no /pdb:".\Debug/client.pdb" /debug /machine:I386 /out:".\Debug/client.exe" /libpath:"..\debug" + wsock32.lib advapi32.lib COMMON_LNK_OPTIONS= /nologo \ /subsystem:windows \ - /incremental:no \ - /machine:i386 - -DEBUG_LNK_OPTIONS= /debug \ - /incremental:no - -RELEASE_LNK_OPTIONS= /pdb:none - -DLL_LINK_OPTIONS= /dll -CLIENT_LINK_OPTIONS = /subsystem:console + /machine:i386 \ + /incremental:no +DEBUG_LNK_OPTIONS= /debug -### BSC compiler options - -BSCMAKE=bscmake.exe +RELEASE_LNK_OPTIONS= /pdb:none +DLL_LINK_OPTIONS= /dll +CLIENT_LINK_OPTIONS = /subsystem:console +SERVER_LINK_OPTIONS = -lib +ZTEST_LINK_OPTIONS = /subsystem:console -COMMON_BSC_OPTIONS= /nologo /o "$(BSCFILE)" /n -DEBUG_BSC_OPTIONS= -RELEASE_BSC_OPTIONS= # Final opt variables !if $(DEBUG) @@ -149,14 +150,12 @@ 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) -BSCOPT= $(COMMON_BSC_OPTIONS) $(DEBUG_BSC_OPTIONS) !else COPT= $(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) -BSCOPT= $(COMMON_BSC_OPTIONS) $(RELEASE_BSC_OPTIONS) !endif @@ -188,6 +187,19 @@ RESFILE=$(OBJDIR)\component.res YAZ_CLIENT_OBJS= \ $(OBJDIR)\client.obj +YAZ_SERVER_OBJS= \ + "$(OBJDIR)\eventl.obj" \ + "$(OBJDIR)\requestq.obj" \ + "$(OBJDIR)\service.obj" \ + "$(OBJDIR)\seshigh.obj" \ + "$(OBJDIR)\statserv.obj" \ + "$(OBJDIR)\tcpdchk.obj" + +ZTEST_OBJS= \ + "$(OBJDIR)\read-grs.obj" \ + "$(OBJDIR)\ztest.obj" + + YAZ_ASN_OBJS= \ $(OBJDIR)\diagbib1.obj \ $(OBJDIR)\proto.obj \ @@ -301,35 +313,49 @@ DLL_OBJS= $(YAZ_OBJS) << # Yaz client -{$(YAZCLIENTDIR)}.c{$(OBJDIR)}.obj: +{$(CLIENTDIR)}.c{$(OBJDIR)}.obj: + @$(CPP) @<< + /D"_CONSOLE" + $(COPT) $< +<< + +# Ztest +{$(ZTESTDIR)}.c{$(OBJDIR)}.obj: @$(CPP) @<< /D"_CONSOLE" + /D"_MBCS" $(COPT) $< << +# Server +{$(SERVERDIR)}.c{$(OBJDIR)}.obj: + @$(CPP) @<< + $(COPT) $< +<< + # Various YAZ source directories -{$(YAZASNDIR)}.c{$(OBJDIR)}.obj: +{$(ASNDIR)}.c{$(OBJDIR)}.obj: @$(CPP) @<< $(COPT) $< << -{$(YAZCOMSTACKDIR)}.c{$(OBJDIR)}.obj: +{$(COMSTACKDIR)}.c{$(OBJDIR)}.obj: @$(CPP) @<< $(COPT) $< << -{$(YAZODRDIR)}.c{$(OBJDIR)}.obj: +{$(ODRDIR)}.c{$(OBJDIR)}.obj: @$(CPP) @<< $(COPT) $< << -{$(YAZUTILDIR)}.c{$(OBJDIR)}.obj: +{$(UTILDIR)}.c{$(OBJDIR)}.obj: @$(CPP) @<< $(COPT) $< << -{$(YAZRETDIR)}.c{$(OBJDIR)}.obj: +{$(RETDIR)}.c{$(OBJDIR)}.obj: @$(CPP) @<< $(COPT) $< << @@ -348,7 +374,7 @@ $(RESFILE): $(RCFILE) $(IDLGENERATED) $(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS) $(LINK) @<< $(LNKOPT) - $(DLL_LINK_LIBS) + $(LINK_LIBS) $(DLL_LINK_OPTIONS) $(DLL_OBJS) /out:$(DLL) @@ -357,7 +383,7 @@ $(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS) /map:"$(LIBDIR)/yaz.map" << -$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) +$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) $(IMPLIB) $(LINK) @<< $(LNKOPT) $(CLIENT_LINK_OPTIONS) @@ -367,21 +393,30 @@ $(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) /out:$(CLIENT) << +$(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(SERVER) $(DLL) + $(LINK) @<< + $(LNKOPT) + $(ZTEST_LINK_OPTIONS) + $(LINK_LIBS) + shell32.lib + $(IMPLIB) + $(SERVER) + $(ZTEST_OBJS) + /out:$(ZTEST) +<< -# regsvr32 /s /c "$(DLL)" -# /def:$(DEF_FILE) - - -## Linking the debug info database (or what ever this is...) -$(BSCFILE): $(DLL_OBJS) - $(BSCMAKE) $(BSCOPT) $(OBJDIR)\*.sbr +$(SERVER) : "$(BINDIR)" $(YAZ_SERVER_OBJS) + $(LINK) $(SERVER_LINK_OPTIONS) @<< + /nologo + $(LINK_LIBS) + $(IMPLIB) + $(YAZ_SERVER_OBJS) + /out:$(SERVER) +<< +# note that this links a lib, so it uses completely different options. -# @echo OPT=$(LNKOPT) -# @echo LIB=$(LINKLIBS) -# @echo OBJ=$(DLL_OBJS) -# @echo DEF=$(DEF_FILE) ########################################################### ############### Special operations @@ -390,8 +425,12 @@ $(BSCFILE): $(DLL_OBJS) ############## clean clean: - deltree /y "$(OBJDIR)/*.*" - + del $(OBJDIR)\*.obj + del $(OBJDIR)\*.sbr + del $(DLL) + del $(CLIENT) + del $(SERVER) + del $(ZTEST) ########### check directories and create if needed dirs: $(OBJDIR) $(WINDIR) $(LIBDIR) $(BINDIR) @@ -399,9 +438,6 @@ dirs: $(OBJDIR) $(WINDIR) $(LIBDIR) $(BINDIR) $(OBJDIR) $(WINDIR) $(LIBDIR) $(BINDIR) : if not exist "$@/$(NUL)" mkdir "$@" -### test target while debugging makefile... -foo: $(RESFILE) - echo Ok ########################################################### ############### Explicit dependencies @@ -409,7 +445,21 @@ foo: $(RESFILE) $(OBJDIR)/client.obj: $(IDLGENERATED) - +########################################################### +############### Log +########################################################### +# +# $Log: makefile.mak,v $ +# Revision 1.5 1999-06-04 10:04:28 heikki +# Cleaning up +# +# Revision 1.4 1999/06/02 13:23:29 heikki +# Debug options for C compiler +# +# Revision 1.3 1999/05/19 08:26:22 heikki +# Added comments +# +#