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

  1. ##########################################################################
  2. #
  3. # Makefile -- Build ODBC C++ Demo Application
  4. #
  5. #
  6. ##########################################################################
  7.  
  8. ##########################################################################
  9. #
  10. # Constants
  11. #
  12. ##########################################################################
  13.  
  14. APP         =   cppdemo
  15. ODBCINC     =   ..\..\include
  16.  
  17. !if "$(WIN32)" == "YES"
  18. ODBCLIB     =   ..\..\lib32
  19. !include <ntwin32.mak>
  20. INCLUDE     =   $(ODBCINC);$(INCLUDE)
  21. LIB         =   $(ODBCLIB);$(LIB)
  22. !else # $(WIN32) != YES
  23. ODBCLIB     =   ..\..\lib
  24. INCLUDE     =   $(ODBCINC);$(INCLUDE)
  25. LIB         =   $(ODBCLIB);$(LIB)
  26. cc          =   cl
  27. !endif # $(WIN32)
  28.  
  29.  
  30. !if "$(DEBUG)" == "YES"
  31. !if "$(WIN32)" == "YES"
  32. flags       =   /nologo $(cflags) $(cvarsdll) $(cdebug) /D_DEBUG /Ze
  33. CFLAGS      =   $(flags)
  34. OBJECT      =   debug32
  35. !else # $(WIN32) != YES
  36. CFLAGS      =   /nologo /Zp1 /W3 /Zi /AM /Od /D_DEBUG /FR /GA2
  37. LFLAGS      =   /NOLOGO /NOD /CO
  38. OBJECT      =   debug16
  39. !endif # $(WIN32)
  40. RCFLAGS     =   /d_DEBUG
  41. !else # $(DEBUG) != YES
  42. !if "$(WIN32)" == "YES"
  43. flags       =   /nologo $(cflags) $(cvarsdll) /Gs /Oxw /Ze
  44. CFLAGS      =   $(flags)
  45. OBJECT      =   ndebug32
  46. !else # $(WIN32) != YES
  47. CFLAGS      =   /nologo /Zp1 /W3 /AM /DNDEBUG /FR /GA2s
  48. LFLAGS      =   /NOLOGO /NOD
  49. OBJECT      =   ndebug16
  50. !endif # $(WIN32)
  51. RCFLAGS     =   /dNDEBUG
  52. !endif # $(DEBUG)
  53.               
  54. LFLAGS      =   /ALIGN:16 $(LFLAGS)
  55.  
  56. !if "$(WIN32)" == "YES"
  57. APPDEP      =   headers.h             \
  58.                 codbc.h               \
  59.                 codbc.inl             \
  60.                 $(ODBCINC)\odbcinst.h \
  61.                 $(ODBCINC)\sql.h      \
  62.                 $(ODBCINC)\sqlext.h   \
  63.                 $(ODBCINC)\ctl3d.h    \
  64.                 $(ODBCINC)\w16macro.h
  65. !else # $(WIN32) != YES
  66. APPDEP      =   headers.h             \
  67.                 codbc.h               \
  68.                 codbc.inl             \
  69.                 $(ODBCINC)\odbcinst.h \
  70.                 $(ODBCINC)\sql.h      \
  71.                 $(ODBCINC)\sqlext.h   \
  72.                 $(ODBCINC)\ctl3d.h    \
  73.                 $(ODBCINC)\w16macro.h
  74. !endif # $(WIN32)
  75.  
  76. APPOBJ      =   $(OBJECT)\headers.obj \
  77.                 $(OBJECT)\dialogs.obj \
  78.                 $(OBJECT)\cppdemo.obj
  79.  
  80. !if "$(WIN32)" == "YES"
  81. APPLIB      =   $(guilibsdll) ctl3d32.lib odbc32.lib odbccp32.lib
  82. !else # $(WIN32) != YES
  83. APPLIB      =  mlibcew  \
  84.                 libw     \
  85.                 ctl3dv2  \
  86.                 odbc     \
  87.                 odbcinst
  88. !endif # $(WIN32)
  89.  
  90. APPLNK      =   $(APP).lnk
  91.  
  92. ##########################################################################
  93. #
  94. #   Make rules
  95. #
  96. ##########################################################################
  97.  
  98. all:                        setenv $(OBJECT)\$(APP).exe
  99.  
  100. setenv:
  101.         set CL=$(CFLAGS)
  102.         set INCLUDE=$(INCLUDE)
  103.         set LIB=$(LIB)
  104.  
  105. $(OBJECT)\$(APP).exe:       $(APP).def $(OBJECT)\$(APP).res $(APPOBJ)
  106. !if "$(WIN32)" == "YES"
  107.             @echo $(guiflags)                > $(APPLNK)
  108. !if "$(DEBUG)" == "YES"
  109.                 @echo $(linkdebug)          >> $(APPLNK)
  110. !endif # $(DEBUG)
  111.             @echo $(OBJECT)\headers.obj     >> $(APPLNK)
  112.             @echo $(OBJECT)\dialogs.obj     >> $(APPLNK)
  113.             @echo $(OBJECT)\cppdemo.obj     >> $(APPLNK)
  114.             @echo $(OBJECT)\$(APP).res      >> $(APPLNK)
  115.             @echo /out:$@                   >> $(APPLNK)
  116.             @echo /machine:$(CPU)           >> $(APPLNK)
  117.             @echo /map:$*.map               >> $(APPLNK)
  118.             @echo $(APPLIB)                 >> $(APPLNK)
  119.             $(link) @$(APPLNK)
  120.             @del $(APPLNK)
  121. !else # $(WIN32) != YES
  122.             @echo $(LFLAGS)              +   > $(APPLNK)
  123.             @echo $(OBJECT)\headers.obj  +  >> $(APPLNK)
  124.             @echo $(OBJECT)\dialogs.obj  +  >> $(APPLNK)
  125.             @echo $(OBJECT)\cppdemo.obj     >> $(APPLNK)
  126.             @echo $@                        >> $(APPLNK)
  127.             @echo $*.map                    >> $(APPLNK)
  128.             @echo $(APPLIB)                 >> $(APPLNK)
  129.             @echo $(APP).def;               >> $(APPLNK)
  130.             link @$(APPLNK)
  131.             @del $(APPLNK)
  132.             rc $(OBJECT)\$(APP).res $@
  133. !endif # $(DEBUG)
  134.  
  135. $(OBJECT)\$(APP).res:       $(APP).rc resource.h
  136. !if "$(WIN32)" == "YES"
  137.             rc $(RCFLAGS) -r -DWIN32 -Fo $(APP).tmp $(APP).rc
  138.             cvtres -$(CPU) $(APP).tmp -o $@
  139.             del $(APP).tmp
  140. !else # $(WIN32) != YES
  141.             rc $(RCFLAGS) /r /fo$@ $(APP).rc
  142. !endif # $(WIN32)
  143.  
  144. clean:
  145.     -@del $(OBJECT)\*.obj
  146.     -@del $(OBJECT)\*.pch
  147.     -@del $(OBJECT)\*.res
  148.     -@del $(OBJECT)\*.exe
  149.     -@del $(OBJECT)\*.dll
  150.     -@del $(OBJECT)\*.map
  151.     -@del $(OBJECT)\*.sbr
  152.  
  153. ##########################################################################
  154. #
  155. # Dependencies
  156. #
  157. ##########################################################################
  158.  
  159. $(OBJECT)\headers.obj:      headers.cpp $(APPDEP)
  160.     $(CC) /FR$(OBJECT)\ /Ycheaders.h /Fp$(OBJECT)\headers.pch /Fo$@ /c $(@B).cpp
  161.  
  162. $(OBJECT)\dialogs.obj:      dialogs.cpp $(APPDEP)
  163.     $(CC) /FR$(OBJECT)\ /Yuheaders.h /Fp$(OBJECT)\headers.pch /Fo$@ /c $(@B).cpp
  164.  
  165. $(OBJECT)\cppdemo.obj:      cppdemo.cpp $(APPDEP)
  166.     $(CC) /FR$(OBJECT)\ /Yuheaders.h /Fp$(OBJECT)\headers.pch /Fo$@ /c $(@B).cpp
  167.