Renamed to makefile (.nothing) (from .mak)
[yaz-moved-to-github.git] / win / makefile.mak
index c926346..85da89a 100644 (file)
@@ -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
 ############### 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
+#
+#