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

  1. # -------------------------- makefile.bc -------------------------
  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 BCDIR
  9. # definition to point to the installations directory of your 
  10. # Borland C/C++ Compiler. 
  11. #
  12. # To build all the examples use the 'all' target, by issuing the 
  13. # following command:
  14. #
  15. #       make -f makefile.bc all
  16. #
  17. # To build any one individual target, use the following command:
  18. #
  19. #      make -f makefile.bc '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. # Borland C/C++ Installation Directory
  43. #
  44. # CHANGE this definition to point to your compiler's installation directory
  45. # ---------------------------------------------------------------------
  46. BCDIR=        d:\bc5
  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 Borland C/C++ 5.0
  58. # ---------------------------------------------------------------------
  59. COMMON_FLAGS=    -c -v -w- -a4 -tWM -DWIN32 $(INCLUDE)
  60. CFLAGS=        $(COMMON_FLAGS) -tWC
  61. LIB_CFLAGS=    $(COMMON_FLAGS) -tWCDE
  62. INCLUDE=    -I$(IBASE)\include -I$(BCDIR)\include
  63. LFLAGS=        /c /x /ap /Tpe 
  64. LIBS=        $(IBASE)\lib\gds32.lib
  65. CC=        $(BCDIR)\bin\bcc32
  66. LINK=        $(BCDIR)\bin\tlink32
  67. IMPLIB=        $(BCDIR)\bin\implib
  68. COPY=        copy
  69. RM=        del
  70.  
  71.  
  72. # ---------------------------------------------------------------------
  73. # Generic Compilation Rules 
  74. #
  75. # Do NOT change anything below this point.
  76. # ---------------------------------------------------------------------
  77. .SUFFIXES: .e .c .obj .exe
  78.  
  79. .e.c:
  80.     $(GPRE) $< -d $(DB)
  81.  
  82. .c.obj:
  83.     $(CC) $(CFLAGS) $<
  84.  
  85. .obj.exe:
  86.     @echo $(BCDIR)\lib\c0x32.obj+ > link.arg
  87.     @echo $< >> link.arg
  88.     @echo $@ >> link.arg
  89.     @echo $(LFLAGS) >> link.arg 
  90.     @echo $(LIBS)+ >> link.arg
  91.     @echo $(BCDIR)\lib\import32.lib+ >> link.arg
  92.     @echo $(BCDIR)\lib\cw32mt.lib >> link.arg
  93.     $(LINK) @link.arg 
  94.     -$(RM) link.arg
  95.  
  96. # ---------------------------------------------------------------------
  97. # Specific targets to build 
  98. # ---------------------------------------------------------------------
  99.  
  100. cmt:
  101.     @echo "--------------------------- makefile.bc -------------------------
  102.     @echo "                                     
  103.     @echo " This makefile will build the InterBase 5.0 examples.        
  104.     @echo " See the Programmer's Guide for information about the example
  105.     @echo " databases and example programs.    
  106.     @echo "                                    
  107.     @echo " You MUST edit the IBASE definition in this file to point to the    
  108.     @echo " directory where InterBase was installed.  As well as the BCDIR 
  109.     @echo " definition to point to the installations directory of your         
  110.     @echo " Borland C/C++ Compiler.                     
  111.     @echo "                                    
  112.     @echo " To build all the examples use the 'all' target, by issuing the     
  113.     @echo " following command:                        
  114.     @echo "                                    
  115.     @echo "     make -f makefile.bc all                
  116.     @echo "                                    
  117.     @echo " To build any one individual target, use the command:    
  118.     @echo "                                    
  119.     @echo "     make -f makefile.bc 'target'                
  120.     @echo "                                    
  121.     @echo " where target 'target' is one of the following:            
  122.     @echo "                                    
  123.     @echo "     employe2.gdb, api1.exe, api2.exe, api3.exe, api4.exe, 
  124.     @echo "     api5.exe, api6.exe, api7.exe, api8.exe, api9.exe, 
  125.     @echo "     api9f.dll, api10.exe, api11.exe, api12.exe, api13.exe, 
  126.     @echo "     api14.exe, api15.exe, api16.exe, api16t.exe, apifull.exe, 
  127.     @echo "     dyn1.exe, dyn2.exe, dyn3.exe, dyn4.exe, dyn5.exe, 
  128.     @echo "     dynfull.exe, stat1.exe, stat2.exe, stat3.exe, stat4.exe, 
  129.     @echo "     stat5.exe, stat6.exe, stat7.exe, stat8.exe, stat9.exe, 
  130.     @echo "     stat10.exe, stat11.exe, stat12.exe, stat12t.exe, 
  131.     @echo "     udflib.dll
  132.     @echo "                                 
  133.     @echo "-----------------------------------------------------------------
  134.  
  135. all: employe2.gdb api1.exe api2.exe api3.exe \
  136.      api4.exe api5.exe api6.exe api7.exe api8.exe \
  137.      api9.exe api9f.dll api10.exe api11.exe api12.exe api13.exe \
  138.      api14.exe api15.exe api16.exe api16t.exe \
  139.      apifull.exe dyn1.exe dyn2.exe dyn3.exe dyn4.exe \
  140.      dyn5.exe dynfull.exe stat1.exe stat2.exe stat3.exe \
  141.      stat4.exe stat5.exe stat6.exe stat7.exe stat8.exe stat9.exe \
  142.      stat10.exe stat11.exe stat12.exe stat12t.exe udflib.dll 
  143.      
  144.  
  145. employe2.gdb: employe2.sql
  146.     $(ISQL) -i $?
  147.  
  148. api9.obj: api9.c example.h api9f.sql  
  149.     $(CC) $(CFLAGS) api9.c $(LIBS)
  150.     $(ISQL) employee.gdb -i api9f.sql
  151.  
  152. api9f.obj: api9f.c example.h
  153.     $(CC) $(LIB_CFLAGS) $?
  154.  
  155. api9f.dll: api9f.obj
  156. # build a small argument file and use it
  157.     @echo $(BCDIR)\lib\c0d32.obj+ > link.arg
  158.     @echo $? >> link.arg
  159.     @echo $@ >> link.arg
  160.     @echo /x /Tpd >> link.arg 
  161.     @echo $(LIBS)+ >> link.arg
  162.     @echo $(BCDIR)\lib\import32.lib+ >> link.arg
  163.     @echo $(BCDIR)\lib\cw32mt.lib >> link.arg
  164.     $(LINK) @link.arg
  165.     @echo -----------------------------------------------------------
  166.     @echo You need to copy api9f.dll to the interbase lib directory
  167.     @echo in order for api9.exe to work correctly.
  168.     @echo -----------------------------------------------------------
  169.  
  170. udflib.obj: udflib.c example.h
  171.     $(CC) $(LIB_CFLAGS) udflib.c
  172.  
  173. udflib.dll: udflib.obj
  174. # build a small argument file and use it
  175.     @echo $(BCDIR)\lib\c0d32.obj+ > link.arg
  176.     @echo $? >> link.arg
  177.     @echo $@ >> link.arg
  178.     @echo /x /Tpd >> link.arg 
  179.     @echo $(LIBS)+ >> link.arg
  180.     @echo $(BCDIR)\lib\import32.lib+ >> link.arg
  181.     @echo $(BCDIR)\lib\cw32mt.lib >> link.arg
  182.     $(LINK) @link.arg
  183.      @echo -----------------------------------------------------------
  184.     @echo You need to copy udflib.dll to the interbase lib directory
  185.     @echo in order for the server to load it. 
  186.     @echo -----------------------------------------------------------
  187.  
  188. api1.obj: api1.c example.h
  189.  
  190. api2.obj: api2.c example.h
  191.  
  192. api3.obj: api3.c example.h
  193.  
  194. api4.obj: api4.c example.h
  195.  
  196. api5.obj: api5.c example.h
  197.  
  198. api6.obj: api6.c example.h
  199.  
  200. api7.obj: api7.c example.h
  201.  
  202. api8.obj: api8.c example.h
  203.  
  204. api10.obj: api10.c example.h
  205.  
  206. api11.obj: api11.c example.h
  207.  
  208. api12.obj: api12.c example.h
  209.  
  210. api13.obj: api13.c example.h
  211.  
  212. api14.c:  api14.e
  213.  
  214. api14.obj: api14.c example.h
  215.  
  216. apifull.obj: apifull.c example.h align.h
  217.  
  218. stat1.c: stat1.e
  219.  
  220. stat1.obj: stat1.c example.h
  221.  
  222. stat2.c: stat2.e
  223.  
  224. stat2.obj: stat2.c example.h
  225.  
  226. stat3.c: stat3.e
  227.  
  228. stat3.obj: stat3.c example.h
  229.  
  230. stat4.c: stat4.e
  231.  
  232. stat4.obj: stat4.c example.h
  233.  
  234. stat5.c: stat5.e
  235.  
  236. stat5.obj: stat5.c example.h
  237.  
  238. stat6.c: stat6.e
  239.  
  240. stat6.obj: stat6.c example.h
  241.  
  242. stat7.c: stat7.e
  243.  
  244. stat7.obj: stat7.c example.h
  245.  
  246. stat8.c: stat8.e
  247.  
  248. stat8.obj: stat8.c example.h
  249.  
  250. stat9.c: stat9.e
  251.  
  252. stat9.obj: stat9.c example.h
  253.  
  254. stat10.c: stat10.e
  255.     $(GPRE_M) $?
  256.  
  257. stat10.obj: stat10.c example.h
  258.  
  259. stat11.c: stat11.e
  260.     $(GPRE_M) $?
  261.  
  262. stat11.obj: stat11.c example.h
  263.  
  264. stat12.c: stat12.e
  265.     $(GPRE_M) $?
  266.  
  267. stat12.obj: stat12.c example.h
  268.  
  269. stat12t.c: stat12t.e
  270.     $(GPRE_M) $?
  271.  
  272. stat12t.obj: stat12t.c example.h
  273.  
  274. dyn1.c: dyn1.e
  275.     $(GPRE_M) $?
  276.  
  277. dyn1.obj: dyn1.c example.h
  278.  
  279. dyn2.c: dyn2.e
  280.     $(GPRE_M) $?
  281.  
  282. dyn2.obj: dyn2.c example.h
  283.  
  284. dyn3.c: dyn3.e
  285.     $(GPRE_M) $?
  286.  
  287. dyn3.obj: dyn3.c example.h
  288.  
  289. dyn4.c: dyn4.e
  290.     $(GPRE_M) $?
  291.  
  292. dyn4.obj: dyn4.c example.h
  293.  
  294. dyn5.c: dyn5.e
  295.     $(GPRE_M) $?
  296.  
  297. dyn5.obj: dyn5.c example.h
  298.  
  299. dynfull.c: dynfull.e
  300.     $(GPRE_M) $?
  301.  
  302. dynfull.obj: dynfull.c example.h align.h
  303.  
  304.  
  305.