home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a025 / 6.ddi / PROCSRV.MAK < prev    next >
Encoding:
Makefile  |  1992-09-15  |  4.7 KB  |  203 lines

  1. #********************************************************************#
  2. #**              Microsoft Open Data Services Library                **#
  3. #**           Copyright(c) Microsoft Corp., 1987, 1988, 1989,        **#
  4. #**                         1990, 1991                                **#
  5. #**                                                                **#
  6. #********************************************************************#
  7.  
  8. .SUFFIXES:
  9. .SUFFIXES:    .src .dll .def .lnk .map .lib .c .asm
  10.  
  11. # Text for building copyright message in executable
  12. #
  13. COPYRIGHT = Copyright(c) Microsoft Corp., 1987,1988,1989,1990,1991
  14. PRODUCT = PROCSRV_SAMPLE
  15.  
  16.  
  17. # Where the components live
  18.  
  19. # drive for lanman
  20. #
  21. LANDRIVE = c:
  22.  
  23. # drive for c includes and libs
  24. #
  25. CDRIVE     = c:
  26.  
  27. # drive for build files
  28. #
  29. DRIVE     = c:
  30.  
  31. # lanman source path
  32. #
  33. LANROOT  = \lanman\netsrc
  34.  
  35. # build dir
  36. #
  37. BUILDBAS = \samples\procsrv\build
  38.  
  39. # Gateway source base
  40. #
  41. SQLbase = \sql
  42. GATEbase = $(SQLbase)\opends
  43.  
  44. SRCDIR     = \samples\procsrv\src
  45. INCLBAS     = \include
  46. OBJDIR     = $(DRIVE)$(GATEbase)$(BUILDBAS)\OBJ
  47. SLOCATE  = $(DRIVE)$(GATEbase)$(SRCDIR)
  48. BLDDIR     = $(DRIVE)$(GATEbase)$(BUILDBAS)
  49. EXEDIR    = $(DRIVE)$(SQLbase)\BINP
  50.  
  51. # debug switches for cl, link and masm
  52. #
  53. LDEBUG     = /CO
  54. DEBUG     = i
  55. MDEBUG     =
  56.  
  57. INCDIR =  $(DRIVE)$(GATEbase)$(INCLBAS)
  58. MNLIBS    = PROCCBSp.lib Opendsp.lib 
  59. CBLIBS    = LlibcDLL OS2 Opendsp.lib 
  60. !if "$(LMFLAG)" == "LMPTK"
  61. CBLIBS = LlibcDLL OS2 Opendsp.lib  lan.lib
  62. !else
  63. CBLIBS = LlibcDLL OS2 Opendsp.lib 
  64. !endif
  65.  
  66. # Definitions for new style linker
  67. #
  68. LINK    = link /SEGMENTS:255 $(LDEBUG)
  69. IMPLIB    = implib
  70.  
  71. # What we call the final result.
  72. #
  73. DLLNAME     = PROCCBSp
  74. GATELIB = $(DRIVE)$(GATEbase)\LIB
  75. GATEDLL = $(DRIVE)$(SQLbase)\DLL
  76.  
  77. # Definitions for C compiler
  78. #   - use Xenix style interface
  79. #   - enable language extensions
  80. #   - pack structures
  81. #   - remove default library info from object files
  82. #   - Maximum warnings
  83. #   - enable 286 code generation
  84. #   - disable stack checking
  85. #   - small code pointers, near data pointers, SS != DS w/ DS autoload
  86. #   - include debugging code
  87. #   - typecheck library calls
  88. #
  89. CC      = cl
  90. M_CFLAGS  = $(COPTION) $(CDEFINE) $(COPTIMIZE) $(CMISC)
  91. CFLAGS      = $(M_CFLAGS) $(CMODEL) $(CSEGMENT)
  92. COPTION   = -Zelp$(DEBUG) -G2
  93. CMODEL      = -Alfu -Lp
  94. CDEFINE   = -DLINT_ARGS -D$(LMFLAG)
  95. CSEGMENT  =
  96. COPTIMIZE = -Op -Od
  97. CMISC      = -W3
  98.  
  99.  
  100. # Definitions for assembler
  101. #   - preserve case sensitivity
  102. #   - suppress messages for successful assembly
  103. #   - check for impure code
  104. #
  105. ASM    = masm
  106. AFLAGS    = -ML -Mx -t -p $(MDEBUG)
  107. AINC    =
  108.  
  109.  
  110. # Object file for main routine
  111. #
  112. OBJS = \
  113.     $(OBJDIR)\procsrv.obj
  114.  
  115. # Object files for callback DLL
  116. #
  117. OBJCBS = \
  118.     $(OBJDIR)\PROCCBS.obj
  119.     
  120.  
  121. # Header files for gateway modules.
  122. #
  123. INCDEP = $(INCDIR)\srv.h
  124.  
  125.  
  126. # Build the Dynamic Link Library, forces full build under nmake.
  127. # This is the main dependency.
  128. #
  129. all : procsrv
  130.  
  131.  
  132. # compile/assemble command lines for each source directory.
  133. #
  134. {$(SLOCATE)}.asm{$(OBJDIR)}.obj:
  135.     $(ASM) $(AFLAGS) $(@B).asm, $(OBJDIR)\$(@B).obj;
  136.  
  137. {$(SLOCATE)}.c{$(OBJDIR)}.obj:
  138.     $(CC) $(CFLAGS) -Fo$(OBJDIR)\$(@B).obj -c $(SLOCATE)\$(@B).c
  139.  
  140.  
  141. # include dependencies
  142. #
  143. $(OBJDIR)\*.obj : $(INCDEP)
  144.  
  145.  
  146. # Build the component object files
  147. #
  148. src :    $(OBJS) $(OBJCBS)
  149.  
  150.  
  151. # Build the GATEWAY callback DLL
  152. #
  153. $(DLLNAME).def : 
  154.     @echo Building $@...
  155.     @echo LIBRARY $(DLLNAME) INITINSTANCE        >  $@
  156.     @echo DESCRIPTION '$(PRODUCT) $(COPYRIGHT)'    >> $@
  157.     @echo HEAPSIZE     65536                >> $@
  158.     @echo PROTMODE                    >> $@
  159.     @echo CODE LOADONCALL EXECUTEREAD NONCONFORMING >> $@
  160.     @echo DATA PRELOAD READWRITE MULTIPLE NONSHARED >> $@
  161.     @echo SEGMENTS                    >> $@
  162.     @echo    _TEXT                    >> $@
  163.     @echo PROCCBS                 >> $@
  164.     @echo EXPORTS                    >> $@
  165.     @echo    _init_server            @1    >> $@
  166.     @echo    _set_remote_server_name        @2    >> $@
  167.     @echo    _chk_err            @3    >> $@
  168.  
  169. # Additional export statements go here.
  170.  
  171.  
  172. # Build linker response file.
  173. #
  174. $(DLLNAME).lnk: 
  175.     @echo Building $@...
  176.     @echo This line makes sure $@ file exists        > $@
  177.     @del $@
  178.     @for %%i in ($(OBJDIR)\proccb*.obj) do echo %%i + >> $@
  179.     @echo.                           >> $@
  180.     @echo $(GATEDLL)\$(DLLNAME).dll               >> $@
  181.     @echo.                           >> $@
  182.     @echo /NOI /NOD $(CBLIBS)               >> $@
  183.     @echo $(DLLNAME).def                   >> $@
  184.  
  185. # Build import lib
  186. #
  187. $(GATELIB)\$(DLLNAME).lib: $(DLLNAME).def
  188.     $(IMPLIB) $(GATELIB)\$(DLLNAME).lib $(DLLNAME).def
  189.     @echo $(DLLNAME).lib built
  190.  
  191. # build DLL and all componets for it
  192. #
  193. $(GATEDLL)\$(DLLNAME).dll: $(DLLNAME).lnk $(OBJCBS)
  194.     $(LINK) @$(DLLNAME).lnk
  195.     @echo $(GATEDLL)\$(DLLNAME).dll built.
  196.  
  197.  
  198. # Build the GATEWAY callback DLLs and executable
  199. #
  200. procsrv:  $(GATELIB)\$(DLLNAME).lib src $(GATEDLL)\$(DLLNAME).dll
  201.     $(CC) $(CFLAGS) -Fm $(OBJDIR)\$(@B).obj -Fe$(EXEDIR)\$(@B).exe $(MNLIBS)
  202.     exehdr /PMTYPE:WINDOWCOMPAT $(EXEDIR)\$(@B).exe
  203.