home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Internet Business Development Kit / PRODUCT_CD.iso / sqlsvr / odbcsdk / samples / smpldrvr / makefile < prev    next >
Encoding:
Makefile  |  1994-12-07  |  7.5 KB  |  291 lines

  1. ##########################################################################
  2. #
  3. # Makefile -- Build ODBC Sample Driver
  4. #
  5. #    This code is furnished on an as-is basis as part of the ODBC SDK and is
  6. #    intended for example purposes only.
  7. #
  8. ##########################################################################
  9.  
  10. ##########################################################################
  11. #
  12. # Constants
  13. #
  14. ##########################################################################
  15. PRODUCT = ODBC Sample Driver
  16.  
  17. !if "$(WIN32)" == "YES"
  18. NAME=    SAMPLE32
  19. !else
  20. NAME=    SAMPLE
  21. !endif
  22.  
  23. ODBCINC=    ..\..\include
  24.  
  25. #    -    -    -    -    -    -    -    -    -
  26.  
  27. !if "$(WIN32)" == "YES"     
  28. !include <ntwin32.mak>      # use the WIN32 makefile template
  29. ODBCLIB=   ..\..\lib32
  30. !else # $(WIN32) != YES
  31. cc=    cl
  32. ODBCLIB=   ..\..\lib
  33. !endif # $(WIN32)
  34.  
  35. INCLUDE=   $(ODBCINC);$(INCLUDE)
  36. LIB=       $(ODBCLIB);$(LIB)
  37.  
  38. #    Compiler, linker, and assembler flags.
  39.  
  40. !IF "$(DEBUG)" == "YES"
  41. !if "$(WIN32)" == "YES"
  42. CFLAGS=    /c /nologo $(cflags) $(cvarsdll) $(cdebug) /DDEBUG /Ze
  43. OBJDIR=   debug32
  44. !else # $(WIN32) != YES
  45. CFLAGS=    /c /nologo /AL /GD /DDEBUG /Od /W3 /Zipe /Fr
  46. LDEBUG=    /CO
  47. OBJDIR=   debug16
  48. !endif # $(WIN32)
  49. RCFLAGS=
  50. RDEBUG=    /dDEBUG
  51. !else # $(DEBUG) != YES
  52. !if "$(WIN32)" == "YES"
  53. CFLAGS=    /c /nologo $(cflags) $(cvarsdll) /Oxw /Ze
  54. OBJDIR=   ndebug32
  55. !else # $(WIN32) != YES
  56. CFLAGS=    /c /nologo /AL /GDs2 /Oxw /W3 /Zpe
  57. LDEBUG=
  58. OBJDIR=   ndebug16
  59. !endif # $(WIN32)
  60. RCFLAGS=
  61. RDEBUG=
  62. !endif # $(DEBUG)
  63.  
  64.  
  65. !if "$(WIN32)" == "YES"
  66. LINK    = link $(linkdebug) -dll -entry:LibMain$(DLLENTRY)
  67. !else # if Win 3.x
  68. LFLAGS = /nol /noe /align:16 /NOLOGO /NOD $(LDEBUG)
  69. !endif
  70.  
  71. .c{$(OBJDIR)\}.obj:
  72.     cl $(CFLAGS) -Fo$(OBJDIR)\$(@B).obj $(@B).c
  73.  
  74. #    -    -    -    -    -    -    -    -    -
  75.  
  76. #    This is what gets made by this makefile
  77.  
  78. goal:            $(OBJDIR)\$(NAME).dll
  79.  
  80. #    -    -    -    -    -    -    -    -    -
  81.  
  82. $(OBJDIR)\catalog.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  83.  
  84. $(OBJDIR)\connect.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  85.  
  86. $(OBJDIR)\dll.obj:        $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  87.  
  88. $(OBJDIR)\execute.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  89.  
  90. $(OBJDIR)\info.obj:        $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  91.  
  92. $(OBJDIR)\options.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  93.  
  94. $(OBJDIR)\prepare.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  95.  
  96. $(OBJDIR)\results.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  97.  
  98. $(OBJDIR)\setup.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  99.  
  100. $(OBJDIR)\transact.obj:    $$(@B).c $(ODBCINC)\sql.h $(ODBCINC)\sqlext.h sample.h
  101.  
  102. $(OBJDIR)\$(NAME).res:    sample.rc      \
  103.                         $(ODBCINC)\odbcver.h \
  104.                         sample.h
  105. !if "$(WIN32)" == "YES"
  106.     rc $(RCFLAGS) $(RDEBUG) -r -DWIN32 -FO $(NAME).tmp sample.rc
  107.     cvtres -$(CPU) $(NAME).tmp -o $@
  108.     del $(NAME).tmp
  109. !else
  110.     rc $(RCFLAGS) $(RDEBUG) -r -FO $(OBJDIR)\$(NAME).res sample.rc
  111. !endif
  112.  
  113.  
  114. #    -    -    -    -    -    -    -    -    -
  115.  
  116. !if "$(WIN32)" == "YES"
  117. $(OBJDIR)\$(NAME).exp:    $(NAME).def
  118.     lib -machine:$(CPU) -out:$*.lib -def:$(NAME).def @<<
  119. $(OBJDIR)\catalog.obj
  120. $(OBJDIR)\dll.obj
  121. $(OBJDIR)\connect.obj
  122. $(OBJDIR)\execute.obj
  123. $(OBJDIR)\info.obj
  124. $(OBJDIR)\options.obj
  125. $(OBJDIR)\prepare.obj
  126. $(OBJDIR)\results.obj
  127. $(OBJDIR)\setup.obj
  128. $(OBJDIR)\transact.obj
  129. <<
  130. !endif
  131.  
  132. $(NAME).def:    makefile
  133.     @echo    LIBRARY        SAMPLE                    > $@
  134.     @echo    DESCRIPTION    '$(PRODUCT) '            >>$@
  135.     @echo    CODE        MOVEABLE DISCARDABLE    >>$@
  136.     @echo    DATA        MOVEABLE SINGLE            >>$@
  137.     @echo    SEGMENTS                            >>$@
  138.     @echo    DLL_TEXT    FIXED PRELOAD            >>$@
  139.     @echo    INIT_TEXT    MOVEABLE PRELOAD        >>$@
  140.     @echo    DATA        PRELOAD                    >>$@
  141.     @echo    HEAPSIZE    1024                    >>$@
  142.     @echo    EXPORTS                                >>$@
  143.     @echo    SQLAllocConnect     @1                >>$@
  144.     @echo    SQLAllocEnv         @2                >>$@
  145.     @echo    SQLAllocStmt        @3                >>$@
  146.     @echo    SQLBindCol            @4                >>$@
  147.     @echo    SQLCancel            @5                >>$@
  148.     @echo    SQLColAttributes    @6                >>$@
  149.     @echo    SQLConnect            @7                >>$@
  150.     @echo    SQLDescribeCol        @8                >>$@
  151.     @echo    SQLDisconnect        @9                >>$@
  152.     @echo    SQLError            @10             >>$@
  153.     @echo    SQLExecDirect        @11             >>$@
  154.     @echo    SQLExecute            @12             >>$@
  155.     @echo    SQLFetch            @13             >>$@
  156.     @echo    SQLFreeConnect        @14             >>$@
  157.     @echo    SQLFreeEnv            @15             >>$@
  158.     @echo    SQLFreeStmt         @16             >>$@
  159.     @echo    SQLGetCursorName    @17             >>$@
  160.     @echo    SQLNumResultCols    @18             >>$@
  161.     @echo    SQLPrepare            @19             >>$@
  162.     @echo    SQLRowCount         @20             >>$@
  163.     @echo    SQLSetCursorName    @21             >>$@
  164. #    @echo    SQLSetParam         @22             >>$@ // 1.0 drivers only
  165.     @echo    SQLTransact         @23             >>$@
  166.     @echo    SQLColumns            @40             >>$@
  167.     @echo    SQLDriverConnect    @41             >>$@
  168.     @echo    SQLGetConnectOption @42             >>$@
  169.     @echo    SQLGetData            @43             >>$@
  170.     @echo    SQLGetFunctions     @44             >>$@
  171.     @echo    SQLGetInfo            @45             >>$@
  172.     @echo    SQLGetStmtOption    @46             >>$@
  173.     @echo    SQLGetTypeInfo        @47             >>$@
  174.     @echo    SQLParamData        @48             >>$@
  175.     @echo    SQLPutData            @49             >>$@
  176.     @echo    SQLSetConnectOption @50             >>$@
  177.     @echo    SQLSetStmtOption    @51             >>$@
  178.     @echo    SQLSpecialColumns    @52             >>$@
  179.     @echo    SQLStatistics        @53             >>$@
  180.     @echo    SQLTables            @54             >>$@
  181.     @echo    SQLBrowseConnect    @55             >>$@
  182.     @echo    SQLColumnPrivileges @56             >>$@
  183. #    @echo    SQLDataSources        @57             >>$@ // Driver Manager only
  184.     @echo    SQLDescribeParam    @58             >>$@
  185.     @echo    SQLExtendedFetch    @59             >>$@
  186.     @echo    SQLForeignKeys        @60             >>$@
  187.     @echo    SQLMoreResults        @61             >>$@
  188.     @echo    SQLNativeSql        @62             >>$@
  189.     @echo    SQLNumParams        @63             >>$@
  190.     @echo    SQLParamOptions     @64             >>$@
  191.     @echo    SQLPrimaryKeys        @65             >>$@
  192.     @echo    SQLProcedureColumns @66             >>$@
  193.     @echo    SQLProcedures        @67             >>$@
  194.     @echo    SQLSetPos            @68             >>$@
  195.     @echo    SQLSetScrollOptions @69             >>$@
  196.     @echo    SQLTablePrivileges    @70             >>$@
  197. #    @echo    SQLDrivers            @71             >>$@ //    Driver Manager only
  198.     @echo    SQLBindParameter    @72             >>$@
  199.     @echo    LoadByOrdinal        @199            >>$@
  200. !if "$(WIN32)" != "YES"
  201.     @echo    WEP                 @200            >>$@
  202.     @echo    ___EXPORTEDSTUB     @201            >>$@
  203. !endif
  204.     @echo    LibMain                @202            >>$@
  205.     @echo    FDriverConnectProc    @333            >>$@
  206.     @echo    ConfigDlgProc        @334            >>$@
  207.     @echo    ConfigDSN            @335            >>$@
  208.  
  209.  
  210.  
  211. NAMEOBJ    =    $(OBJDIR)\catalog.obj \
  212.                 $(OBJDIR)\dll.obj \
  213.                 $(OBJDIR)\connect.obj \
  214.                 $(OBJDIR)\execute.obj \
  215.                 $(OBJDIR)\info.obj \
  216.                 $(OBJDIR)\options.obj \
  217.                 $(OBJDIR)\prepare.obj \
  218.                 $(OBJDIR)\results.obj \
  219.                 $(OBJDIR)\setup.obj \
  220.                 $(OBJDIR)\transact.obj
  221.  
  222. !if "$(WIN32)" == "YES"
  223. APPLIB        =    $(guilibsdll)    \
  224.                 odbccp32.lib    \
  225.                 ctl3d32.lib    
  226. !else # $(WIN32) != YES
  227. APPLIB        =    llibcew        \
  228.                 libw        \
  229.                 ctl3dv2        \
  230.                 odbc        \
  231.                 odbcinst
  232. !endif # $(WIN32)
  233.  
  234. APPLNK        =    $(NAME).lnk
  235.  
  236.  
  237. $(OBJDIR)\$(NAME).dll:    $(NAMEOBJ)                \
  238. !if "$(WIN32)" == "YES"
  239.                         $(OBJDIR)\$(NAME).exp    \
  240. !else
  241.                         $(NAME).def                \
  242. !endif
  243.                         $(OBJDIR)\$(NAME).res
  244. !if "$(WIN32)" == "YES"
  245.     $(LINK) @<<
  246. -out:$(OBJDIR)\$(NAME).dll
  247. -map:$(OBJDIR)\$(NAME).map
  248. $(OBJDIR)\catalog.obj
  249. $(OBJDIR)\dll.obj
  250. $(OBJDIR)\connect.obj
  251. $(OBJDIR)\execute.obj
  252. $(OBJDIR)\info.obj
  253. $(OBJDIR)\options.obj
  254. $(OBJDIR)\prepare.obj
  255. $(OBJDIR)\results.obj
  256. $(OBJDIR)\setup.obj
  257. $(OBJDIR)\transact.obj
  258. $(OBJDIR)\$(NAME).res
  259. $(OBJDIR)\$(NAME).exp
  260. $(guilibsdll) ctl3d32.lib odbccp32.lib
  261. <<
  262. !else
  263.     link $(LFLAGS) @<<
  264. $(OBJDIR)\catalog.obj+
  265. $(OBJDIR)\dll.obj+
  266. $(OBJDIR)\connect.obj+
  267. $(OBJDIR)\execute.obj+
  268. $(OBJDIR)\info.obj+
  269. $(OBJDIR)\options.obj+
  270. $(OBJDIR)\prepare.obj+
  271. $(OBJDIR)\results.obj+
  272. $(OBJDIR)\setup.obj+
  273. $(OBJDIR)\transact.obj,
  274. $(OBJDIR)\$(NAME).dll,
  275. $(OBJDIR)\$(NAME).map,
  276. LDLLCEW LIBW CTL3DV2 odbcinst,
  277. $(NAME).def;
  278. <<
  279.     rc $(OBJDIR)\$(NAME).res $(OBJDIR)\$(NAME).dll
  280. !endif
  281.  
  282. #    -    -    -    -    -    -    -    -    -
  283.  
  284. clean:
  285.     -del $(OBJDIR)\*.obj
  286.     -del $(OBJDIR)\$(NAME).dll
  287.     -del $(OBJDIR)\$(NAME).res
  288.     -del $(OBJDIR)\$(NAME).map
  289.  
  290. #    -    -    -    -    -    -    -    -    -
  291.