Makefile
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:10k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. #-------------------------------------------------------------------------
  2. #
  3. # Makefile
  4. #    Makefile for Java JDBC interface
  5. #
  6. # IDENTIFICATION
  7. #    $Header: /usr/local/cvsroot/pgsql/src/interfaces/jdbc/Makefile,v 1.14 1999/06/23 05:56:17 peter Exp $
  8. #
  9. #-------------------------------------------------------------------------
  10. FIND = find
  11. IDL2JAVA = idltojava -fno-cpp -fno-tie
  12. JAR = jar
  13. JAVA = java
  14. JAVAC = javac
  15. JAVADOC = javadoc
  16. RM = rm -f
  17. TOUCH = touch
  18. # This defines how to compile a java class
  19. .java.class:
  20. $(JAVAC) $<
  21. .SUFFIXES: .class .java
  22. .PHONY: all clean doc examples
  23. # In 6.5, the all rule builds the makeVersion class which then calls make using
  24. # the jdbc1 or jdbc2 rules
  25. all: makeVersion.class
  26. make $$($(JAVA) makeVersion)
  27. @echo ------------------------------------------------------------
  28. @echo The JDBC driver has now been built. To make it available to
  29. @echo other applications, copy the postgresql.jar file to a public
  30. @echo "place (under unix this could be /usr/local/lib) and add it"
  31. @echo to the class path.
  32. @echo
  33. @echo Then either add -Djdbc.drivers=postgresql.Driver to the
  34. @echo commandline when running your application, or edit the
  35. @echo "properties file for your application (~/.hotjava/properties"
  36. @echo "under unix for HotJava), and add a line containing"
  37. @echo jdbc.drivers=postgresql.Driver
  38. @echo
  39. @echo More details are in the README file and in the main postgresql
  40. @echo documentation.
  41. @echo
  42. @echo ------------------------------------------------------------
  43. @echo To build the examples, type:
  44. @echo "  make examples"
  45. @echo
  46. @echo "To build the CORBA example (requires Java2):"
  47. @echo "  make corba"
  48. @echo ------------------------------------------------------------
  49. @echo
  50. dep depend:
  51. # This rule builds the javadoc documentation
  52. doc:
  53. export CLASSPATH=.;
  54. $(JAVADOC) -public 
  55. postgresql 
  56. postgresql.fastpath 
  57. postgresql.largeobject
  58. # These classes form the driver. These, and only these are placed into
  59. # the jar file.
  60. OBJ_COMMON= postgresql/Connection.class 
  61. postgresql/Driver.class 
  62. postgresql/Field.class 
  63. postgresql/PG_Stream.class 
  64. postgresql/ResultSet.class 
  65. postgresql/errors.properties 
  66. postgresql/errors_fr.properties 
  67. postgresql/fastpath/Fastpath.class 
  68. postgresql/fastpath/FastpathArg.class 
  69. postgresql/geometric/PGbox.class 
  70. postgresql/geometric/PGcircle.class 
  71. postgresql/geometric/PGline.class 
  72. postgresql/geometric/PGlseg.class 
  73. postgresql/geometric/PGpath.class 
  74. postgresql/geometric/PGpoint.class 
  75. postgresql/geometric/PGpolygon.class 
  76. postgresql/largeobject/LargeObject.class 
  77. postgresql/largeobject/LargeObjectManager.class 
  78. postgresql/util/PGmoney.class 
  79. postgresql/util/PGobject.class 
  80. postgresql/util/PGtokenizer.class 
  81. postgresql/util/PSQLException.class 
  82. postgresql/util/Serialize.class 
  83. postgresql/util/UnixCrypt.class
  84. # These files are unique to the JDBC 1 (JDK 1.1) driver
  85. OBJ_JDBC1= postgresql/jdbc1/CallableStatement.class 
  86. postgresql/jdbc1/Connection.class 
  87. postgresql/jdbc1/DatabaseMetaData.class 
  88. postgresql/jdbc1/PreparedStatement.class 
  89. postgresql/jdbc1/ResultSet.class 
  90. postgresql/jdbc1/ResultSetMetaData.class 
  91. postgresql/jdbc1/Statement.class
  92. # These files are unique to the JDBC 2 (JDK 2 nee 1.2) driver
  93. OBJ_JDBC2= postgresql/jdbc2/ResultSet.class 
  94. postgresql/jdbc2/PreparedStatement.class 
  95. postgresql/jdbc2/CallableStatement.class 
  96. postgresql/jdbc2/Connection.class 
  97. postgresql/jdbc2/DatabaseMetaData.class 
  98. postgresql/jdbc2/ResultSetMetaData.class 
  99. postgresql/jdbc2/Statement.class
  100. # This rule should never occur, but will be called when makeVersion fails to
  101. # understand the java.version property correctly.
  102. jdbc0:
  103. @echo
  104. @echo FATAL ERROR!
  105. @echo
  106. @echo makeVersion has not been able to determine what version of
  107. @echo the JDK you are using, and hence what version of the driver
  108. @echo to compile.
  109. @echo
  110. @echo There are two versions available, one that conforms to the
  111. @echo JDBC 1 specification, and one to the JDBC 2 specification.
  112. @echo
  113. @echo To build the driver for JDBC 1 (usually for JDK 1.1 thru 1.1.7)
  114. @echo then type: make jdbc1
  115. @echo
  116. @echo To build the driver for JDBC 2 (usually for JDK 1.2 and later)
  117. @echo then type: make jdbc2
  118. @echo
  119. @echo If you still have problems, then please email the interfaces
  120. @echo or bugs lists, or better still to me direct (peter@retep.org.uk)
  121. @echo
  122. # This rule builds the JDBC1 compliant driver
  123. jdbc1: $(OBJ_COMMON) $(OBJ_JDBC1) postgresql.jar
  124. # This rule builds the JDBC2 compliant driver
  125. jdbc2: $(OBJ_COMMON) $(OBJ_JDBC2) postgresql.jar
  126. # If you have problems with this rule, replace the $( ) with ` ` as some
  127. # shells (mainly sh under Solaris) doesn't recognise $( )
  128. #
  129. # Note: This works by storing all compiled classes under the postgresql
  130. # directory. We use this later for compiling the dual-mode driver.
  131. #
  132. postgresql.jar: $(OBJ) $(OBJ_COMMON)
  133. $(JAR) -c0f $@ $$($(FIND) postgresql -name "*.class" -print) 
  134. $(wildcard postgresql/*.properties)
  135. # This rule removes any temporary and compiled files from the source tree.
  136. clean:
  137. $(FIND) . -name "*~" -exec $(RM) {} ;
  138. $(FIND) . -name "*.class" -exec $(RM) {} ;
  139. $(FIND) . -name "*.html" -exec $(RM) {} ;
  140. -$(RM) -rf stock example/corba/stock.built
  141. -$(RM) postgresql.jar
  142. -$(RM) -rf Package-postgresql *output
  143. #######################################################################
  144. # This helps make workout what classes are from what source files
  145. #
  146. # Java is unlike C in that one source file can generate several
  147. # _Different_ file names
  148. #
  149. postgresql/Connection.class: postgresql/Connection.java
  150. postgresql/DatabaseMetaData.class: postgresql/DatabaseMetaData.java
  151. postgresql/Driver.class: postgresql/Driver.java
  152. postgresql/Field.class: postgresql/Field.java
  153. postgresql/PG_Stream.class: postgresql/PG_Stream.java
  154. postgresql/PreparedStatement.class: postgresql/PreparedStatement.java
  155. postgresql/ResultSet.class: postgresql/ResultSet.java
  156. postgresql/ResultSetMetaData.class: postgresql/ResultSetMetaData.java
  157. postgresql/Statement.class: postgresql/Statement.java
  158. postgresql/fastpath/Fastpath.class: postgresql/fastpath/Fastpath.java
  159. postgresql/fastpath/FastpathArg.class: postgresql/fastpath/FastpathArg.java
  160. postgresql/geometric/PGbox.class: postgresql/geometric/PGbox.java
  161. postgresql/geometric/PGcircle.class: postgresql/geometric/PGcircle.java
  162. postgresql/geometric/PGlseg.class: postgresql/geometric/PGlseg.java
  163. postgresql/geometric/PGpath.class: postgresql/geometric/PGpath.java
  164. postgresql/geometric/PGpoint.class: postgresql/geometric/PGpoint.java
  165. postgresql/geometric/PGpolygon.class: postgresql/geometric/PGpolygon.java
  166. postgresql/largeobject/LargeObject.class: postgresql/largeobject/LargeObject.java
  167. postgresql/largeobject/LargeObjectManager.class: postgresql/largeobject/LargeObjectManager.java
  168. postgresql/util/PGmoney.class: postgresql/util/PGmoney.java
  169. postgresql/util/PGobject.class: postgresql/util/PGobject.java
  170. postgresql/util/PGtokenizer.class: postgresql/util/PGtokenizer.java
  171. postgresql/util/Serialize.class: postgresql/util/Serialize.java
  172. postgresql/util/UnixCrypt.class: postgresql/util/UnixCrypt.java
  173. #######################################################################
  174. # These classes are in the example directory, and form the examples
  175. EX= example/basic.class 
  176. example/blobtest.class 
  177. example/datestyle.class 
  178. example/psql.class 
  179. example/ImageViewer.class 
  180. example/metadata.class 
  181. example/threadsafe.class
  182. # example/Objects.class
  183. # This rule builds the examples
  184. examples: postgresql.jar $(EX)
  185. @echo ------------------------------------------------------------
  186. @echo The examples have been built.
  187. @echo
  188. @echo For instructions on how to use them, simply run them. For example:
  189. @echo
  190. @echo "  java example.blobtest"
  191. @echo
  192. @echo This would display instructions on how to run the example.
  193. @echo ------------------------------------------------------------
  194. @echo Available examples:
  195. @echo
  196. @echo "  example.basic        Basic JDBC useage"
  197. @echo "  example.blobtest     Binary Large Object tests"
  198. @echo "  example.datestyle    Shows how datestyles are handled"
  199. @echo "  example.ImageViewer  Example application storing images"
  200. @echo "  example.psql         Simple java implementation of psql"
  201. @echo "  example.Objects      Demonstrates Object Serialisation"
  202. @echo " "
  203. @echo These are not really examples, but tests various parts of the driver
  204. @echo "  example.metadata     Tests various metadata methods"
  205. @echo "  example.threadsafe   Tests the driver's thread safety"
  206. @echo ------------------------------------------------------------
  207. @echo
  208. example/basic.class: example/basic.java
  209. example/blobtest.class: example/blobtest.java
  210. example/datestyle.class: example/datestyle.java
  211. example/psql.class: example/psql.java
  212. example/ImageViewer.class: example/ImageViewer.java
  213. example/threadsafe.class: example/threadsafe.java
  214. example/metadata.class: example/metadata.java
  215. #######################################################################
  216. #
  217. # CORBA This extensive example shows how to integrate PostgreSQL
  218. # JDBC & CORBA.
  219. CORBASRC = $(wildcard example/corba/*.java)
  220. CORBAOBJ = $(subst .java,.class,$(CORBASRC))
  221. corba: jdbc2 example/corba/stock.built $(CORBAOBJ)
  222. @echo -------------------------------------------------------
  223. @echo The corba example has been built. Before running, you
  224. @echo will need to read the example/corba/readme file on how
  225. @echo to run the example.
  226. @echo
  227. #
  228. # This compiles our idl file and the stubs
  229. #
  230. # Note: The idl file is in example/corba, but it builds a directory under
  231. # the current one. For safety, we delete that directory before running
  232. # idltojava
  233. #
  234. example/corba/stock.built: example/corba/stock.idl
  235. -rm -rf stock
  236. $(IDL2JAVA) $<
  237. $(JAVAC) stock/*.java
  238. $(TOUCH) $@
  239. # tip: we cant use $(wildcard stock/*.java) in the above rule as a race
  240. #      condition occurs, where javac is passed no arguments
  241. #######################################################################