Date: Fri, 16 Jun 2000 15:10:54 +0200 From: Ernst de Haan <ernst@jollem.com> To: Cliff Rowley <cliff@olive.co.uk> Cc: freebsd-java@freebsd.org Subject: Re: Odd request Message-ID: <20000616151054.A39818@c187104187.telekabel.chello.nl> In-Reply-To: <394A24C8.24697B1B@olive.co.uk>; from cliff@olive.co.uk on Fri, Jun 16, 2000 at 01:59:52PM %2B0100 References: <394A24C8.24697B1B@olive.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Cliff, Try ant. It is easier than makefiles, and specifically designed for Java projects. It works as follows: Instead of a Makefile, you write an XML file that describes targets, you usually call this file build.xml. The targets typically similar to the following: <target name="classes"> <javac srcdir="src/java" destdir="lib/classes"> </target> <target name="all" depends="classes,javadoc" /> For a complete example see: * Orion Primer http://www.orionserver.com/ Ant is an Apache project. * Ant Homepage http://jakarta.apache.org/ant/ Good luck, and let me know if you run into trouble. Note that you should use patchset 9 (not 8 or before) with Ant. And the Linux JDK is known to cause trouble with Ant at times (creating directories with special symbols in it). Ernst Cliff Rowley wrote: > Perhaps an odd request, but could someone help me with a Makefile for > compiling a java project? As it stands, I'm using a shell script to do > it for me, but it means we have to clean every time to ensure > dependencies are built. I'm not too hot with makefiles (yet), and this > one isn't that straight forward, since 2 of the classes auto generate > some of the other classes. > > I've attached the current script. > > Basically this is the chain of events that needs to happen: > > 1. The 2 code generation classes need to be compiled > (WopFileCreate.java and WopFileData.java). > > 2. 'java WopFileCreate > .p42i.properties' must be run to produce the > output files and the properties file. > > 3. The rest of the .java files need to be compiled. > > Seems quite simple I guess, but I cant get it going at all. > > Many thanks. > -- > Cliff Rowley > Software Engineer > Olive Systems LTD > http://www.olive.co.uk > #!/bin/sh > # > # Modified make utility > # > # Arguments: > # ./make [ clean then make everything ] > # ./make clean [ clean ] > # ./make runv [ run system against Vax ] > # ./make runt [ run system against transact ] > > if [ "x$1" = "xclean" ]; then > echo Cleaning... > rm *.class > rm WopCcpdoc.java WopCcpdocSql.java WopCcpdocVax.java WopEvrEvent.java WopEvrEventSql.java WopEvrEventVax.java WopMemdoc.java WopMemdocSql.java WopMemdocVax.java WopMemfmy.java WopMemfmySql.java WopMemfmyVax.java WopMemmst.java WopMemmstSql.java WopMemmstVax.java > elif [ "x$1" = "xrunv" ]; then > echo Running against Vax > java -Djava.compiler=none WopMain Vax > elif [ "x$1" = "xrunt" ]; then > echo Running against Transact > java -Djava.compiler=none WopMain Transact > elif [ "x$1" = "x" ]; then > echo Building... > START=`date` > > `$0 clean` > > echo Compiling exception classes... > javac *Exception*.java > > echo Compiling code generation classes... > javac WopFileCreate.java > javac WopFileData.java > > echo Auto generating classes... > java WopFileCreate > .p42i.properties > > echo Compiling auto generated classes... > javac *.java > > END=`date` > > echo > echo Build started $START > echo Build finished $END > echo > else > echo Invalid argument: $1 > exit 1; > fi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-java" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20000616151054.A39818>