Commit in LCGO on MAIN
GNUmakefile+74-281.3 -> 1.4
Add stuff to work with gcj3 and ckgwin

LCGO
GNUmakefile 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- GNUmakefile	30 Oct 2006 10:52:18 -0000	1.3
+++ GNUmakefile	1 Nov 2006 13:47:13 -0000	1.4
@@ -1,13 +1,38 @@
-JDOM=jdom-1.0.jar
+JDOM=jdom-noxpath-1.0.jar
 JEL=jel-0.9.10.jar
 XERCES=xercesImpl-2.8.0.jar
+SAX=sax.jar
+DOM=dom.jar
+JAXP=jaxp-api.jar
+AELFRED=saxon-aelfred.jar
 
 WORK=work
 DIST=dist
 
-CLASSPATH=$(WORK)/jars/$(JDOM):$(WORK)/jars/$(JEL)
+UNAME:=$(shell uname)
 
+ifeq "$(UNAME)" "CYGWIN_NT-5.1"
+STATIC=1
+GCJ3=1
+endif
+
+ifdef RHEL4
+GCJ=gcj4
+GPP=g++4
+GCJH=gcjh4
+JAR=fastjar4
+else
+GCJ=gcj
+GPP=g++
+GCJH=gcjh
+ifdef GCJ3
+JAR=/usr/bin/jar
+else
+JAR=fastjar
+endif
+endif
 
+CP=$(WORK)/jars/$(JDOM):$(WORK)/jars/$(JEL):$(WORK)/jars/$(JAXP)
 
 jsource := $(wildcard src/java/hep/gear/api/*.java) 
 jsource += $(wildcard src/java/hep/gear/base/*.java) 
@@ -20,13 +45,12 @@
 GEARBASESOURCES = $(cheaders)  
 
 
-
 .PHONY : all
 all: test
                 
 $(WORK)/jars/$(JDOM): 
 	mkdir -p $(WORK)/jars
-	wget -P $(WORK)/jars http://www.ibiblio.org/maven/jdom/jars/$(JDOM) 
+	wget -P $(WORK)/jars http://java.freehep.org/maven/aelfred/jars/$(JDOM) 
 
 $(WORK)/jars/$(JEL):
 	mkdir -p $(WORK)/jars
@@ -36,63 +60,85 @@
 	mkdir -p $(WORK)/jars
 	wget -P $(WORK)/jars http://www.ibiblio.org/maven/xerces/jars/$(XERCES) 
 
+$(WORK)/jars/$(AELFRED):
+	mkdir -p $(WORK)/jars
+	wget -P $(WORK)/jars http://java.freehep.org/maven/aelfred/jars//$(AELFRED)
+
+$(WORK)/jars/$(JAXP):
+	mkdir -p $(WORK)/jars
+	wget -P $(WORK)/jars http://java.freehep.org/maven/aelfred/jars//$(JAXP)       
+
+$(WORK)/jars/$(DOM):
+	mkdir -p $(WORK)/jars
+	wget -P $(WORK)/jars http://java.freehep.org/maven/aelfred/jars//$(DOM)
+
+$(WORK)/jars/$(SAX):
+	mkdir -p $(WORK)/jars
+	wget -P $(WORK)/jars http://java.freehep.org/maven/aelfred/jars//$(SAX)        
+        
 $(DIST)/lib/%.jar.so : $(WORK)/jars/%.jar
 	mkdir -p $(DIST)/lib
-	gcj -g -fPIC -findirect-dispatch -shared -o $@ $<
+	$(GCJ) -g --classpath="$(CP)" -fPIC -findirect-dispatch -shared -o $@ $<
 
-# Not currently used
-%.jar.a : %.jar
-	gcj -c -g -findirect-dispatch  -o $<.o $<
+$(DIST)/lib/%.jar.a : $(WORK)/jars/%.jar
+	mkdir -p $(DIST)/lib
+	$(GCJ) -c -g --classpath="$(CP)" -findirect-dispatch  -o $<.o $<
 	ar rcs $@ $<.o
 	rm $<.o
 
 $(DIST)/include/hep/lcgo/xml/reader/%.h: $(WORK)/jars/LCGO.jar
 	mkdir -p $(DIST)/include/hep/lcgo/xml/reader
-	gcjh --classpath=$< -d $(DIST)/include hep.lcgo.xml.reader.$*
+	$(GCJH) --classpath="$<" -d $(DIST)/include hep.lcgo.xml.reader.$*
 
 
 $(DIST)/include/hep/gear/api/%.h: $(WORK)/jars/LCGO.jar
 	mkdir -p $(DIST)/include/hep/gear/api
-	gcjh --classpath=$< -d $(DIST)/include hep.gear.api.$*
+	$(GCJH) --classpath="$<" -d $(DIST)/include hep.gear.api.$*
 
 $(DIST)/include/hep/gear/implementation/%.h: $(WORK)/jars/LCGO.jar
 	mkdir -p $(DIST)/include/hep/gear/implementation
-	gcjh --classpath=$< -d $(DIST)/include hep.gear.implementation.$*
+	$(GCJH) --classpath="$<" -d $(DIST)/include hep.gear.implementation.$*
 
 $(DIST)/include/hep/gear/base/%.h: $(WORK)/jars/LCGO.jar
 	mkdir -p $(DIST)/include/hep/gear/base
-	gcjh --classpath=$< -d $(DIST)/include hep.gear.base.$*
+	$(GCJH) --classpath="$<" -d $(DIST)/include hep.gear.base.$*
 
 $(DIST)/include/hep/gear/xml/%.h: $(WORK)/jars/LCGO.jar
 	mkdir -p $(DIST)/include/hep/gear/xml
-	gcjh --classpath=$< -d $(DIST)/include hep.gear.xml.$*
+	$(GCJH) --classpath="$<" -d $(DIST)/include hep.gear.xml.$*
 
 
-$(WORK)/jars/LCGO.jar: src/java/hep/lcgo/xml/reader/*.java src/java/hep/lcgo/xml/reader/util/*.java src/java/hep/lcgo/util/cache/*.java  $(jsource)
+$(WORK)/jars/LCGO.jar: src/java/hep/lcgo/xml/reader/*.java src/java/hep/lcgo/xml/reader/util/*.java src/java/hep/lcgo/util/cache/*.java  $(jsource) $(WORK)/jars/$(JDOM) $(WORK)/jars/$(JEL) $(WORK)/jars/$(JAXP)
 	mkdir -p $(WORK)/classes
-	gcj -d $(WORK)/classes --classpath=$(CLASSPATH) -C $^
-	fastjar -cf $@ -C $(WORK)/classes .
+	$(GCJ) -d $(WORK)/classes --classpath=$(CP) -C $^
+	$(JAR) -cf $@ -C $(WORK)/classes .
 
 
 $(WORK)/includes: src/include/* $(DIST)/include/hep/lcgo/xml/reader/LCGOReader.h $(DIST)/include/hep/lcgo/xml/reader/Detector.h $(DIST)/include/hep/lcgo/xml/reader/Constant.h  $(GEARBASESOURCES)
 	cp -r src/include/*.h $(DIST)/include
 	touch $@
 
-#$(WORK)/includes: src/include/* $(DIST)/include/hep/lcgo/xml/reader/LCGOReader.h $(DIST)/include/hep/lcgo/xml/reader/Detector.h $(DIST)/include/hep/lcgo/xml/reader/Constant.h $(DIST)/include/hep/gear/base/Vector3D.h  $(DIST)/include/hep/gear/base/Vector2D.h $(DIST)/include/hep/gear/base/Point3D.h $(DIST)/include/hep/gear/base/Point2D.h 
-#	cp -r src/include/*.h $(DIST)/include
-#	touch $@
-
-
-$(WORK)/dist: $(DIST)/lib/$(XERCES).so $(DIST)/lib/$(JDOM).so $(DIST)/lib/$(JEL).so $(DIST)/lib/LCGO.jar.so $(DIST)/lib/LCGO.so $(WORK)/includes
+$(WORK)/dist: $(DIST)/lib/saxon-aelfred.jar.so $(DIST)/lib/jaxp-api.jar.so $(DIST)/lib/$(JDOM).so $(DIST)/lib/$(JEL).so $(DIST)/lib/LCGO.jar.so $(DIST)/lib/LCGO.so $(WORK)/includes
 	touch $@
 
 $(DIST)/lib/LCGO.so: src/cpp/*.cc $(WORK)/includes
-	gcj -o $@ -fPIC -shared -I$(DIST)/include src/cpp/*.cc  
+	$(GCJ) -o $@ -fPIC -shared -I$(DIST)/include src/cpp/*.cc  
 
+$(DIST)/lib/LCGO.a: src/cpp/*.cc $(WORK)/includes
+	$(GCJ) -c -I$(DIST)/include src/cpp/*.cc
+	ar rcs $@ *.o
+	rm *.o
+
+ifdef STATIC
+test: test.cc $(WORK)/includes $(DIST)/lib/LCGO.jar.a $(DIST)/lib/LCGO.a $(DIST)/lib/$(AELFRED).a $(DIST)/lib/$(JAXP).a $(DIST)/lib/$(JDOM).a $(DIST)/lib/$(JEL).a $(DIST)/lib/$(SAX).a $(DIST)/lib/$(DOM).a  
+	$(GCJ) -o $@ -I$(DIST)/include test.cc $(DIST)/lib/LCGO.a $(DIST)/lib/LCGO.jar.a $(DIST)/lib/$(JDOM).a -Wl,--whole-archive $(DIST)/lib/$(AELFRED).a -Wl,--no-whole-archive $(DIST)/lib/$(JAXP).a  $(DIST)/lib/$(JEL).a $(DIST)/lib/$(SAX).a $(DIST)/lib/$(DOM).a -lstdc++  
+else
 test: test.cc $(WORK)/dist
-	gcj -g -c -o test.o -I$(DIST)/include test.cc 
-	g++  -o $@ test.o $(DIST)/lib/*.so -lgcj
-#	g++ -g -o $@ -I$(DIST)/include $< $(DIST)/lib/*.so -lgcj
+	$(GCJ) -g -c -o test.o -I$(DIST)/include test.cc 
+	$(GPP)  -o $@ test.o $(DIST)/lib/*.so -lgcj
+#	$(GPP) -g -o $@ -I$(DIST)/include $< $(DIST)/lib/*.so -lgcj
+endif
+
 
 .PHONY : run
 run: test
@@ -106,13 +152,13 @@
 	-rm -rf $(WORK)/includes 
 	-rm -rf $(DIST)/include
 	-rm -rf $(DIST)/lib/LCGO*
-	-rm test
+	-rm -f test test.exe
 
 
 .PHONY : realclean
 realclean:
 	-rm -rf $(WORK) 
 	-rm -rf $(DIST)
-	-rm test
+	-rm -f test test.exe
 
 
CVSspam 0.2.8