1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
|
# rules for building VRwave native code part
# included by $(CPU)/makefile
#
# do not pass this file to make directly,
# call make from the $CPU directory instead
#
# you should never need to change anything herein
# look at the config-files $CPU/makefile uses instead
#
# created: mpichler, 19960812
#
# changed: kwagen, 19970703
# changed: mpichler, 19970724
#
# $Id: rules.def,v 1.8 1997/09/19 15:41:51 mpichler Exp $
# VRwave java source directory
SRCDIR=../../javasrc
# VRwave java class directory
CLASSDIR=../../classes
# current dir relative to CLASSDIR
CPUDIR=../native/$(CPU)
# ge3d package: Java source dir, Java prefix, native prefix
GE3DSRC=$(SRCDIR)/iicm/ge3d
GE3DCLASS=iicm.ge3d
GE3DPACKAGE=iicm_ge3d_
# viewer package: Java source dir, Java prefix, native prefix
VWSRC=$(SRCDIR)/iicm/vrml/vrwave
VWCLASS=iicm.vrml.vrwave
VWPACKAGE=iicm_vrml_vrwave_
# for VRwave: EXTRAOBJS=Builder.o vrwbuild.o asmooth.o triangulate.o Picker.o vrwpick.o
OBJS=OGLCanvas.o $(GEJCON).o GE3D.o gejimpl.o $(GE3DFILE).o $(EXTRAOBJS)
rulesdefnixgut4make:
@echo "do not pass this file to make directly"
@echo "it just contains rules, not your configuration"
@echo 'instead setenv CPU and run make in the CPU dir'
# --- OGLCanvas/gejcon objs ---
# yes, even .h files generated by javah are platform specific (int, long)
OGLCanvas.h: $(GE3DSRC)/OGLCanvas.java
( cd $(CLASSDIR) ; $(JAVAH) $(GE3DCLASS).OGLCanvas ; mv $(GE3DPACKAGE)OGLCanvas.h $(CPUDIR)/OGLCanvas.h )
OGLCanvas.c: $(GE3DSRC)/OGLCanvas.java
( cd $(CLASSDIR) ; $(JAVAH) -stubs $(GE3DCLASS).OGLCanvas ; mv $(GE3DPACKAGE)OGLCanvas.c $(CPUDIR)/OGLCanvas.c )
OGLCanvas.o: OGLCanvas.c
$(CC_PIC) $(CCDEFS) $(JAVAINC) -c OGLCanvas.c
$(GEJCON).o: ../$(GEJCON).c ../gejcon.c OGLCanvas.h
$(CC_PIC) $(CCDEFS) $(JAVAINC) $(OGLINC) -I. -DPACKAGE=$(GE3DPACKAGE) -c ../$(GEJCON).c
# --- GE3D/gejimpl objs ---
GE3D.h: $(GE3DSRC)/GE3D.java
( cd $(CLASSDIR) ; $(JAVAH) $(GE3DCLASS).GE3D ; mv $(GE3DPACKAGE)GE3D.h $(CPUDIR)/GE3D.h )
GE3D.c: $(GE3DSRC)/GE3D.java
( cd $(CLASSDIR) ; $(JAVAH) -stubs $(GE3DCLASS).GE3D ; mv $(GE3DPACKAGE)GE3D.c $(CPUDIR)/GE3D.c )
GE3D.o: GE3D.c
$(CC_PIC) $(CCDEFS) $(JAVAINC) -c GE3D.c
gejimpl.o: ../gejimpl.c GE3D.h
$(CC_PIC) $(CCDEFS) $(JAVAINC) -I. -I.. $(OGLINC) -DPACKAGE=$(GE3DPACKAGE) -c ../gejimpl.c
# --- GE3D C library: ge3d_{ogl|mesa}.c ---
$(GE3DFILE).o: ../$(GE3DFILE).c ../ge3d/ge3d.h
$(CC_PIC) $(CCDEFS) -I../ge3d $(OGLINC) -c ../$(GE3DFILE).c
# --- gejc lib ---
lib$(GEJCON).$(SOEXT): $(OBJS)
$(LDSO) -o lib$(GEJCON).$(SOEXT) $(OBJS) $(OGLLIB) $(XLIBS) $(LDSOLIBS)
libgejc.$(SOEXT): lib$(GEJCON).$(SOEXT)
rm -f libgejc.$(SOEXT) ; ln -s lib$(GEJCON).$(SOEXT) libgejc.$(SOEXT)
# --- Builder/vrwbuild objs (VRwave) ---
Builder.h: $(VWSRC)/Builder.java
( cd $(CLASSDIR) ; $(JAVAH) $(VWCLASS).Builder ; mv $(VWPACKAGE)Builder.h $(CPUDIR)/Builder.h )
Builder.c: $(VWSRC)/Builder.java
( cd $(CLASSDIR) ; $(JAVAH) -stubs $(VWCLASS).Builder ; mv $(VWPACKAGE)Builder.c $(CPUDIR)/Builder.c )
Builder.o: Builder.c
$(CC_PIC) $(CCDEFS) $(JAVAINC) -c Builder.c
IntArray.h: $(SRCDIR)/iicm/vrml/pwutils/IntArray.java
( cd $(CLASSDIR) ; $(JAVAH) iicm.vrml.pwutils.IntArray ; mv iicm_vrml_pwutils_IntArray.h $(CPUDIR)/IntArray.h )
FloatArray.h: $(SRCDIR)/iicm/vrml/pwutils/FloatArray.java
( cd $(CLASSDIR) ; $(JAVAH) iicm.vrml.pwutils.FloatArray ; mv iicm_vrml_pwutils_FloatArray.h $(CPUDIR)/FloatArray.h )
vrwbuild.o: ../vrwbuild.c Builder.h
$(CC_PIC) $(CCDEFS) $(JAVAINC) -I. -I.. $(OGLINC) -DPACKAGE=$(VWPACKAGE) -c ../vrwbuild.c
asmooth.o: ../asmooth.c Builder.h
$(CC_PIC) $(CCDEFS) $(JAVAINC) -I. -I.. $(OGLINC) -DPACKAGE=$(VWPACKAGE) -c ../asmooth.c
triangulate.o: ../triangulate.c Builder.h IntArray.h FloatArray.h
$(CC_PIC) $(CCDEFS) $(JAVAINC) -I. -I.. $(OGLINC) -DPACKAGE=$(VWPACKAGE) -c ../triangulate.c
# --- Picker/vrwpick objs (VRwave) ---
Picker.h: $(VWSRC)/Picker.java
( cd $(CLASSDIR) ; $(JAVAH) $(VWCLASS).Picker ; mv $(VWPACKAGE)Picker.h $(CPUDIR)/Picker.h )
Picker.c: $(VWSRC)/Picker.java
( cd $(CLASSDIR) ; $(JAVAH) -stubs $(VWCLASS).Picker ; mv $(VWPACKAGE)Picker.c $(CPUDIR)/Picker.c )
Picker.o: Picker.c
$(CC_PIC) $(CCDEFS) $(JAVAINC) -c Picker.c
vrwpick.o: ../vrwpick.c Picker.h
$(CC_PIC) $(CCDEFS) $(JAVAINC) -I. -I.. $(OGLINC) -DPACKAGE=$(VWPACKAGE) -c ../vrwpick.c
# --- misc ---
clean:
$(RM) *.o
realclean:
$(RM) *.[cho] *.$(SOEXT) so_locations
|