home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 May / PCWorld_1999-05_cd.bin / software / Vyzkuste / inprise / INTRBASE_55 / EXAMPLES / API / MAKEFILE.MSC < prev    next >
Text File  |  1998-10-18  |  9KB  |  295 lines

  1. # -------------------------- makefile.msc ------------------------
  2. #
  3. # This makefile will build the examples supplied with InterBase 5.0.
  4. # See the Programmer's Guide for information about the example
  5. # databases and example programs.
  6. #
  7. # You MUST edit the IBASE definition in this file to point to the
  8. # directory where InterBase was installed.  As well as the MSCDIR
  9. # definition to point to the installations directory of your 
  10. # Microsoft C/C++ Compiler. 
  11. #
  12. # To build all the examples use the 'all' target, by issuing the 
  13. # following command:
  14. #
  15. #       nmake -f makefile.msc all
  16. #
  17. # To build any one individual target, use the following command:
  18. #
  19. #      nmake -f makefile.msc 'target'
  20. #
  21. # where target 'target' is one of the following:
  22. #     employe2.gdb, api1.exe, api2.exe, api3.exe, api4.exe, 
  23. #     api5.exe, api6.exe, api7.exe, api8.exe, api9.exe, 
  24. #     api9f.dll, api10.exe, api11.exe, api12.exe, api13.exe, 
  25. #     api14.exe, api15.exe, api16.exe, api16t.exe, apifull.exe, 
  26. #     dyn1.exe, dyn2.exe, dyn3.exe, dyn4.exe, dyn5.exe, 
  27. #     dynfull.exe, stat1.exe, stat2.exe, stat3.exe, stat4.exe, 
  28. #     stat5.exe, stat6.exe, stat7.exe, stat8.exe, stat9.exe, 
  29. #     stat10.exe, stat11.exe, stat12.exe, stat12t.exe, 
  30. #     udflib.dll
  31. #
  32. # ---------------------------------------------------------------------
  33.  
  34. # ---------------------------------------------------------------------
  35. # InterBase Installation Directory
  36. #
  37. # CHANGE this definition to point to your InterBase installation directory
  38. # ---------------------------------------------------------------------
  39. IBASE=        d:\interbase
  40.  
  41. # ---------------------------------------------------------------------
  42. # Microsoft C/C++ Installation Directory
  43. #
  44. # CHANGE this definition to point to your compiler's installation directory
  45. # ---------------------------------------------------------------------
  46. MSCDIR=        d:\DevStudio\VC
  47.  
  48. # ---------------------------------------------------------------------
  49. # General InterBase Defines for Microsoft Windows 95/NT
  50. # ---------------------------------------------------------------------
  51. GPRE=        $(IBASE)\bin\gpre -c -n
  52. GPRE_M=        $(IBASE)\bin\gpre -c -n -m
  53. ISQL=        $(IBASE)\bin\isql
  54. DB=        employee.gdb
  55.  
  56. # ---------------------------------------------------------------------
  57. # General Compiler and linker Defines for Microsoft C/C++ 5.0
  58. # ---------------------------------------------------------------------
  59. CFLAGS=        -c -Zi -w -MD -DWIN32 $(INCLUDE)
  60. LIB_CFLAGS=    $(CFLAGS) -LD
  61. INCLUDE=    -I$(IBASE)\include -I$(MSCDIR)\include
  62. LIBS=        $(MSCDIR)\lib\msvcrt.lib $(IBASE)\lib\gds32_ms.lib
  63. CC=        $(MSCDIR)\bin\cl
  64. LINK=        $(MSCDIR)\bin\link
  65. LIBRARIAN=    $(MSCDIR)\bin\lib
  66. COPY=        copy
  67.  
  68. # ---------------------------------------------------------------------
  69. # Generic Compilation Rules 
  70. #
  71. # Do NOT change anything below this point.
  72. # ---------------------------------------------------------------------
  73. .SUFFIXES: .e .c .obj .exe
  74.  
  75. .e.c:
  76.     $(GPRE) $< -d $(DB)
  77.  
  78. .c.obj:
  79.     $(CC) $(CFLAGS) $< 
  80.  
  81. .obj.exe:
  82.     $(LINK) -out:$@ $< $(LIBS)
  83.  
  84.  
  85. # ---------------------------------------------------------------------
  86. # Specific targets to build 
  87. # ---------------------------------------------------------------------
  88.  
  89. cmt:
  90.     @echo "--------------------------- makefile.msc ------------------------
  91.     @echo "                                     
  92.     @echo " This makefile will build the InterBase 5.0 examples.
  93.     @echo " See the Programmer's Guide for information about the example
  94.     @echo " databases and example programs.    
  95.     @echo "                                    
  96.     @echo " You MUST edit the IBASE definition this file to point to the    
  97.     @echo " directory where InterBase was installed.  As well as the MSCDIR 
  98.     @echo " definition point to the installations directory of your 
  99.     @echo " Microsoft C/C++ Compiler.                     
  100.     @echo "                                    
  101.     @echo " To build all the examples use the 'all' target, by issuing the     
  102.     @echo " following command:                        
  103.     @echo "                                    
  104.     @echo "     nmake -f makefile.msc all                
  105.     @echo "                                    
  106.     @echo " To build any one individual target, use the command:    
  107.     @echo "                                    
  108.     @echo "     nmake -f makefile.msc 'target'                
  109.     @echo "                                    
  110.     @echo " where target 'target' is one of the following:            
  111.     @echo "                                    
  112.     @echo "     employe2.gdb, api1.exe, api2.exe, api3.exe, api4.exe, 
  113.     @echo "     api5.exe, api6.exe, api7.exe, api8.exe, api9.exe, 
  114.     @echo "     api9f.dll, api10.exe, api11.exe, api12.exe, api13.exe, 
  115.     @echo "     api14.exe, api15.exe, api16.exe, api16t.exe, apifull.exe, 
  116.     @echo "     dyn1.exe, dyn2.exe, dyn3.exe, dyn4.exe, dyn5.exe, 
  117.     @echo "     dynfull.exe, stat1.exe, stat2.exe, stat3.exe, stat4.exe, 
  118.     @echo "     stat5.exe, stat6.exe, stat7.exe, stat8.exe, stat9.exe, 
  119.     @echo "     stat10.exe, stat11.exe, stat12.exe, stat12t.exe, 
  120.     @echo "     udflib.dll
  121.     @echo "                                 
  122.     @echo "-----------------------------------------------------------------
  123.  
  124. all: employe2.gdb api1.exe api2.exe api3.exe \
  125.      api4.exe api5.exe api6.exe api7.exe api8.exe \
  126.      api9.exe api9f.dll api10.exe api11.exe api12.exe api13.exe \
  127.      api14.exe api15.exe api16.exe api16t.exe \
  128.      apifull.exe dyn1.exe dyn2.exe dyn3.exe dyn4.exe \
  129.      dyn5.exe dynfull.exe stat1.exe stat2.exe stat3.exe \
  130.      stat4.exe stat5.exe stat6.exe stat7.exe stat8.exe stat9.exe \
  131.      stat10.exe stat11.exe stat12.exe stat12t.exe udflib.dll 
  132.  
  133. employe2.gdb: employe2.sql
  134.     $(ISQL) -i $?
  135.  
  136. api9.obj: api9.c example.h api9f.sql
  137.     $(CC) $(CFLAGS) api9.c $(LIBS)
  138.     $(ISQL) employee.gdb -i api9f.sql
  139.  
  140. api9f.obj: api9f.c example.h
  141.     $(CC) $(LIB_CFLAGS) $?
  142.  
  143. api9f.lib api9f.exp: api9f.obj api9f.def
  144.     $(LIBRARIAN) api9f.obj -out:api9f.lib -def:api9f.def -machine:i386 \
  145.     -subsystem:console
  146.  
  147. api9f.dll: api9f.lib api9f.exp api9f.obj
  148. # build a small argument file and use it
  149.     @echo -entry:_DllMainCRTStartup@12 > link.arg
  150.     @echo -subsystem:console -DLL -DEBUG:FULL >> link.arg
  151.     @echo -out:api9f.dll >> link.arg
  152.     @echo api9f.exp api9f.obj $(LIBS) >> link.arg
  153.     $(LINK) @link.arg
  154.     @echo -----------------------------------------------------------
  155.     @echo You need to copy api9f.dll to the interbase lib directory
  156.     @echo in order for api9.exe to work correctly.
  157.     @echo -----------------------------------------------------------
  158.  
  159. udflib.obj: udflib.c example.h
  160.     $(CC) $(LIB_CFLAGS) udflib.c 
  161.  
  162. udflib.lib udflib.exp: udflib.obj udflib.def
  163.     $(LIBRARIAN) udflib.obj -out:udflib.lib -def:udflib.def -machine:i386 \
  164.     -subsystem:console
  165.  
  166. udflib.dll: udflib.lib udflib.obj udflib.exp
  167. # build a small argument file and use it
  168.     @echo -entry:_DllMainCRTStartup@12 > link.arg
  169.     @echo -subsystem:console -DLL >> link.arg
  170.     @echo -out:udflib.dll >> link.arg
  171.     @echo udflib.obj udflib.exp $(LIBS) >> link.arg
  172.     $(LINK) @link.arg
  173.     @echo -----------------------------------------------------------
  174.     @echo You need to copy udflib.dll to the interbase lib directory
  175.     @echo in order for the server to load it. 
  176.     @echo -----------------------------------------------------------
  177.  
  178. api1.obj: api1.c example.h
  179.  
  180. api2.obj: api2.c example.h
  181.  
  182. api3.obj: api3.c example.h
  183.  
  184. api4.obj: api4.c example.h
  185.  
  186. api5.obj: api5.c example.h
  187.  
  188. api6.obj: api6.c example.h
  189.  
  190. api7.obj: api7.c example.h
  191.  
  192. api8.obj: api8.c example.h
  193.  
  194. api10.obj: api10.c example.h
  195.  
  196. api11.obj: api11.c example.h
  197.  
  198. api12.obj: api12.c example.h
  199.  
  200. api13.obj: api13.c example.h
  201.  
  202. api14.c:  api14.e
  203.  
  204. api14.obj: api14.c example.h
  205.  
  206. apifull.obj: apifull.c example.h align.h
  207.  
  208. stat1.c: stat1.e
  209.  
  210. stat1.obj: stat1.c example.h
  211.  
  212. stat2.c: stat2.e
  213.  
  214. stat2.obj: stat2.c example.h
  215.  
  216. stat3.c: stat3.e
  217.  
  218. stat3.obj: stat3.c example.h
  219.  
  220. stat4.c: stat4.e
  221.  
  222. stat4.obj: stat4.c example.h
  223.  
  224. stat5.c: stat5.e
  225.  
  226. stat5.obj: stat5.c example.h
  227.  
  228. stat6.c: stat6.e
  229.  
  230. stat6.obj: stat6.c example.h
  231.  
  232. stat7.c: stat7.e
  233.  
  234. stat7.obj: stat7.c example.h
  235.  
  236. stat8.c: stat8.e
  237.  
  238. stat8.obj: stat8.c example.h
  239.  
  240. stat9.c: stat9.e
  241.  
  242. stat9.obj: stat9.c example.h
  243.  
  244. stat10.c: stat10.e
  245.     $(GPRE_M) $?
  246.  
  247. stat10.obj: stat10.c example.h
  248.  
  249. stat11.c: stat11.e
  250.     $(GPRE_M) $?
  251.  
  252. stat11.obj: stat11.c example.h
  253.  
  254. stat12.c: stat12.e
  255.     $(GPRE_M) $?
  256.  
  257. stat12.obj: stat12.c example.h
  258.  
  259. stat12t.c: stat12t.e
  260.     $(GPRE_M) $?
  261.  
  262. stat12t.obj: stat12t.c example.h
  263.  
  264. dyn1.c: dyn1.e
  265.     $(GPRE_M) $?
  266.  
  267. dyn1.obj: dyn1.c example.h
  268.  
  269. dyn2.c: dyn2.e
  270.     $(GPRE_M) $?
  271.  
  272. dyn2.obj: dyn2.c example.h
  273.  
  274. dyn3.c: dyn3.e
  275.     $(GPRE_M) $?
  276.  
  277. dyn3.obj: dyn3.c example.h
  278.  
  279. dyn4.c: dyn4.e
  280.     $(GPRE_M) $?
  281.  
  282. dyn4.obj: dyn4.c example.h
  283.  
  284. dyn5.c: dyn5.e
  285.     $(GPRE_M) $?
  286.  
  287. dyn5.obj: dyn5.c example.h
  288.  
  289. dynfull.c: dynfull.e
  290.     $(GPRE_M) $?
  291.  
  292. dynfull.obj: dynfull.c example.h align.h
  293.  
  294.  
  295.