OSDN Git Service

Mike Beachy's build patch to allow ant builds without make
authorDave Cramer <davec@fastcrypt.com>
Wed, 11 Dec 2002 12:29:13 +0000 (12:29 +0000)
committerDave Cramer <davec@fastcrypt.com>
Wed, 11 Dec 2002 12:29:13 +0000 (12:29 +0000)
src/interfaces/jdbc/Makefile
src/interfaces/jdbc/README
src/interfaces/jdbc/build.xml

index 3fbafe5..3e41fc9 100644 (file)
@@ -4,7 +4,7 @@
 #
 # Copyright (c) 2001, PostgreSQL Global Development Group
 #
-# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.36 2002/10/20 02:55:50 barry Exp $
+# $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/Makefile,v 1.37 2002/12/11 12:27:47 davec Exp $
 #
 #-------------------------------------------------------------------------
 
@@ -12,21 +12,23 @@ subdir = src/interfaces/jdbc
 top_builddir = ../../..
 include $(top_builddir)/src/Makefile.global
 
-majorversion := $(shell echo $(VERSION) | sed 's/^\([0-9][0-9]*\)\..*$$/\1/')
-minorversion := $(shell echo $(VERSION) | sed 's/^[0-9][0-9]*\.\([0-9][0-9]*\).*$$/\1/')
+majorversion:= $(shell echo $(VERSION) | sed 's/^\([0-9][0-9]*\)\..*$$/\1/')
+minorversion:= $(shell echo $(VERSION) | sed 's/^[0-9][0-9]*\.\([0-9][0-9]*\).*$$/\1/')
 
-properties := -Dmajor=$(majorversion) -Dminor=$(minorversion) \
-               -Dfullversion=$(VERSION) \
-               -Ddef_pgport=$(DEF_PGPORT) \
-               -Denable_debug=$(enable_debug)
+build.properties: $(top_builddir)/src/Makefile.global
+       echo "# This file was created by 'make build.properties'." > build.properties
+       echo major=$(majorversion) >> build.properties
+       echo minor=$(minorversion) >> build.properties
+       echo fullversion=$(VERSION) >> build.properties
+       echo def_pgport=$(DEF_PGPORT) >> build.properties
+       echo enable_debug=$(enable_debug) >> build.properties
 
-all:
-       $(ANT) -buildfile $(srcdir)/build.xml all \
-         $(properties)
+all: build.properties
+       $(ANT) -buildfile $(srcdir)/build.xml all
 
-install: installdirs
+install: installdirs build.properties
        $(ANT) -buildfile $(srcdir)/build.xml install \
-         -Dinstall.directory=$(javadir) $(properties)
+         -Dinstall.directory=$(javadir)
 
 installdirs:
        $(mkinstalldirs) $(javadir) 
@@ -36,7 +38,7 @@ uninstall:
          -Dinstall.directory=$(javadir)
 
 clean distclean maintainer-clean:
-       $(ANT) -buildfile $(srcdir)/build.xml clean
+       $(ANT) -buildfile $(srcdir)/build.xml clean_all
 
-check: all
-       $(ANT) -buildfile $(srcdir)/build.xml test $(properties)
+check: build.properties
+       $(ANT) -buildfile $(srcdir)/build.xml test
index e4f364f..0c85551 100644 (file)
@@ -32,6 +32,10 @@ the directory PREFIX/share/java.
 
 That jar file will contain the driver for _your_ version of the JDK.
 
+If you would like to use ANT directly, first invoke 'make build.properties'
+after running the configure script with the java option. This will create a
+needed Java properties file from the configured information.
+
 REMEMBER: Once you have compiled the driver, it will work on ALL platforms
 that support that version of the API. You don't need to build it for each
 platform.
index 3e6a61d..1e104a1 100644 (file)
@@ -6,7 +6,7 @@
 
   This file now requires Ant 1.4.1.  2002-04-18
 
-  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.30 2002/10/20 00:10:55 barry Exp $
+  $Header: /cvsroot/pgsql/src/interfaces/jdbc/Attic/build.xml,v 1.31 2002/12/11 12:27:47 davec Exp $
 
 -->
 
@@ -23,6 +23,8 @@
   <property name="package" value="org/postgresql" />
   <property name="debug" value="on" />
 
+  <property file="build.properties"/>
+
   <!--
     This is a simpler method than utils.CheckVersion
     It defaults to jdbc1, but builds jdbc2 if the java.lang.Byte class is
     </javac>
   </target>
 
+  <target name="check_driver">
+    <uptodate targetfile="${package}/Driver.java" property="driver.uptodate">
+      <srcfiles dir=".">
+      <include name="${package}/Driver.java.in"/>
+      <include name="build.properties"/>
+      </srcfiles>
+    </uptodate>
+  </target>
 
   <!--
     This generates Driver.java from Driver.java.in
     It's required for importing the driver version properties
   -->
-  <target name="driver" depends="prepare,check_versions">
+  <target name="driver" depends="prepare,check_versions,check_driver"
+          unless="driver.uptodate">
     <!-- determine the edition text -->
     <condition property="edition" value="JDBC1">
         <equals arg1="${jdbc1}" arg2="true"/>
 
      <fail unless="major" message="'major' undefined. Please follow the directions in README."/>
      <fail unless="minor" message="'minor' undefined. Please follow the directions in README."/>
+     <fail unless="fullversion" message="'fullversion' undefined. Please follow the directions in README."/>
+     <fail unless="def_pgport" message="'def_pgport' undefined. Please follow the directions in README."/>
+     <fail unless="enable_debug" message="'enable_debug' undefined. Please follow the directions in README."/>
  
     <!-- Put a check for the current version here -->
 
     <delete quiet="true" file="${package}/Driver.java" />
   </target>
 
+  <target name="clean_all" depends="clean">
+    <delete quiet="true" file="build.properties" />
+  </target>
 
 
   <!-- This compiles and executes the JUnit tests -->