# Makefile.mak - makefile for MS NMAKE
+# $Id: makefile.mak,v 1.4 1999-06-02 13:23:29 heikki Exp $
#
# Programmed by
# HL: Heikki Levanto, Index Data
#
# History
# 18-05-99 HL Stole this from YazX, cleaning up
+# 02-06-99 HL Ztest's bsc file missing, could not debug. Fixing.
#
# Missing
-# - get it to work
-# - yaz dll
-# - client
-# - server
-# - ztest
+# - Move MS-C's whatnots into win direcotry
+# - Log and ID
+# - rename to makefile (.nothing)
+# - same to yazx...
#
# Envoronment problems
# - You need to have the proper path and environment for VC set
DEBUG=1 # 0 for release, 1 for debug
default: all
-all: dirs dll client
+!if $(DEBUG)
+all: dirs dll client server ztest bsc
+!else
+all: dirs dll client server ztest
+!endif
###########################################################
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
DLL=$(BINDIR)\Yaz.dll
IMPLIB=$(BINDIR)\Yaz.lib
-BSCFILE=$(LIBDIR)\Yaz.bsc
+YAZ_BSCFILE=$(LIBDIR)\Yaz.bsc
CLIENT=$(BINDIR)\client.exe
+SERVER=$(BINDIR)\server.lib
+ZTEST=$(BINDIR)\ztest.exe
+ZTEST_BSCFILE=$(LIBDIR)\ztest.bsc
# shortcut names defined here
-dll : $(DLL) $(BSCFILE)
+dll : $(DLL)
client: $(CLIENT)
+server: $(SERVER)
+ztest: $(ZTEST)
+bsc: $(YAZ_BSCFILE) $(ZTEST_BSCFILE)
###########################################################
############### Compiler and linker options
DEBUG_C_OPTIONS= \
/D "_DEBUG" \
- /MD /Od /YX
+ /MD /Od /YX /Zi
RELEASE_C_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
+ wsock32.lib advapi32.lib
+
#odbccp32.lib yaz.lib /nologo /subsystem:console /incremental:no /pdb:".\Debug/client.pdb" /debug /machine:I386 /out:".\Debug/client.exe" /libpath:"..\debug"
+#kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib
+#ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib wsock32.lib yaz.lib server.lib
+#ZT: /nologo /subsystem:console /incremental:no /pdb:"Debug/ztest.pdb" /debug /machine:I386 /out:"Debug/ztest.exe" /pdbtype:sept /libpath:"..\debug" /libpath:"..\server\debug"
+
COMMON_LNK_OPTIONS= /nologo \
/subsystem:windows \
- /incremental:no \
- /machine:i386
-
-DEBUG_LNK_OPTIONS= /debug \
- /incremental:no
+ /machine:i386 \
+ /incremental:no
+
+DEBUG_LNK_OPTIONS= /debug
RELEASE_LNK_OPTIONS= /pdb:none
-DLL_LINK_OPTIONS= /dll
-CLIENT_LINK_OPTIONS = /subsystem:console
+DLL_LINK_OPTIONS= /dll
+CLIENT_LINK_OPTIONS = /subsystem:console
+SERVER_LINK_OPTIONS = -lib
+ZTEST_LINK_OPTIONS = /subsystem:console
+#shell32.lib
### BSC compiler options
BSCMAKE=bscmake.exe
-COMMON_BSC_OPTIONS= /nologo /o "$(BSCFILE)" /n
+COMMON_BSC_OPTIONS= /nologo /n
DEBUG_BSC_OPTIONS=
RELEASE_BSC_OPTIONS=
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 \
<<
# 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) $<
<<
$(DLL) $(IMPLIB): "$(BINDIR)" $(DLL_OBJS)
$(LINK) @<<
$(LNKOPT)
- $(DLL_LINK_LIBS)
+ $(LINK_LIBS)
$(DLL_LINK_OPTIONS)
$(DLL_OBJS)
/out:$(DLL)
/map:"$(LIBDIR)/yaz.map"
<<
-$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS)
+$(CLIENT) : "$(BINDIR)" $(YAZ_CLIENT_OBJS) $(IMPLIB)
$(LINK) @<<
$(LNKOPT)
$(CLIENT_LINK_OPTIONS)
/out:$(CLIENT)
<<
+$(ZTEST) : "$(BINDIR)" $(ZTEST_OBJS) $(SERVER) $(DLL)
+ $(LINK) @<<
+ $(LNKOPT)
+ $(ZTEST_LINK_OPTIONS)
+ $(LINK_LIBS)
+ shell32.lib
+ $(IMPLIB)
+ $(SERVER)
+ $(ZTEST_OBJS)
+ /out:$(ZTEST)
+<<
+$(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.
+
# regsvr32 /s /c "$(DLL)"
# /def:$(DEF_FILE)
## Linking the debug info database (or what ever this is...)
-$(BSCFILE): $(DLL_OBJS)
- $(BSCMAKE) $(BSCOPT) $(OBJDIR)\*.sbr
+$(YAZ_BSCFILE): $(DLL_OBJS) $(DLL)
+ $(BSCMAKE) $(BSCOPT) /o $(YAZ_BSCFILE) $(OBJDIR)\*.sbr
+$(ZTEST_BSCFILE): $(DLL_OBJS) $(ZTEST_OBJS) $(ZTEST)
+ $(BSCMAKE) $(BSCOPT) /o $(ZTEST_BSCFILE) $(OBJDIR)\*.sbr
# @echo OPT=$(LNKOPT)
# @echo LIB=$(LINKLIBS)
$(OBJDIR)/client.obj: $(IDLGENERATED)
-
+###########################################################
+############### Log
+###########################################################
+#
+# $Log: makefile.mak,v $
+# 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
+#
+#