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
|
# makefile for VRwave plugin wrapper
#
# created: mpichler, 19970812
#
# changed: mpichler, 19970919
#
# $Id: makefile,v 1.6 1997/09/24 15:36:02 mpichler Exp $
# assert: $SYS set to system name (uname -s)
# directories ./$SYS and ../pilib/$SYS should exist
# ../SDK should point to netscape plugin SDK
# with subdirectories bin, classes, common, include
# VRwave classes: iicm.* and vrml.* packages (VRwave core and Java-EAI implementation)
# specify path to classes directory (or path and name of VRwave vrwave.zip package)
VRWCLASSES=../../classes
# netscape's Java classes (including netscape.plugin.Plugin)
MOZZIP=../SDK/classes/moz3_0.zip
# location of netscape's javah under SDK/bin
# (should be set in cfg/config.$CPU, see below)
NSJAVAHSYS=$(SYS)
# common configuration definitions
include ../config.defs
# used definitions: JAVAC, CC_PIC, LDSO, SOEXT, RM
# optional debugging (also gives verbose output on running the plugin)
# DEBUGFLAGS = -g -DDEBUG
# system specific settings
include ../cfg/config.$(CPU)
# netscape's version of javah supporting JRI
JAVAHJRI=../SDK/bin/$(NSJAVAHSYS)/javah -jri
# for debugging add -DPLUGIN_TRACE
# include paths relative to $SYS subdir
PLUGIN_DEFINES = -DXP_UNIX -I.. -I../../SDK/include -I../$(SYS)
CFLAGS = $(DEBUGFLAGS) $(PLUGIN_DEFINES) -I/usr/openwin/include
SHELL=/bin/sh
CLASSES=VRwavePlugin.class VRwaveReader.class
PLUGINDEST=../pilib/$(SYS)
SHAREDOBJ=npvrwave.$(SOEXT)
# default targets
all: $(CLASSES) $(PLUGINDEST)/$(SHAREDOBJ)
# apparently output of netscape's javah -jri is machine independent,
# thus you could share them across several machines if you like.
STUBDIR=$(SYS)
HDRDIR=$(SYS)
HEADERS=$(HDRDIR)/netscape_plugin_Plugin.h $(HDRDIR)/VRwavePlugin.h
STUBS=$(STUBDIR)/netscape_plugin_Plugin.c $(STUBDIR)/VRwavePlugin.c
OBJ=npvrwave.o stubs.o
OBJS=$(SYS)/npvrwave.o $(SYS)/stubs.o
# classes
VRwavePlugin.class: VRwavePlugin.java
$(JAVAC) -classpath $(MOZZIP):.:$(VRWCLASSES) $?
VRwaveReader.class: VRwaveReader.java
$(JAVAC) -classpath $(MOZZIP):.:$(VRWCLASSES) $?
# headers
$(HDRDIR)/netscape_plugin_Plugin.h: $(MOZZIP)
-@( cd $(SYS) || mkdir $(SYS) )
-$(PREJAVAHJRI)
$(JAVAHJRI) -classpath $(MOZZIP):. netscape.plugin.Plugin
mv netscape_plugin_Plugin.h $@
$(HDRDIR)/VRwavePlugin.h: VRwavePlugin.java
-$(PREJAVAHJRI)
$(JAVAHJRI) -classpath $(MOZZIP):$(VRWCLASSES):. VRwavePlugin
mv VRwavePlugin.h $@
# stubs
$(STUBDIR)/netscape_plugin_Plugin.c: $(MOZZIP)
-$(PREJAVAHJRI)
$(JAVAHJRI) -classpath $(MOZZIP):. -stubs netscape.plugin.Plugin
mv netscape_plugin_Plugin.c $@
$(STUBDIR)/VRwavePlugin.c: VRwavePlugin.java
-$(PREJAVAHJRI)
$(JAVAHJRI) -classpath $(MOZZIP):$(VRWCLASSES):. -stubs VRwavePlugin
mv VRwavePlugin.c $@
# object files
$(SYS)/stubs.o: stubs.c $(HEADERS) $(STUBS)
( cd $(SYS) ; $(CC_PIC) $(CCDEFS) $(CFLAGS) -c ../stubs.c )
$(SYS)/npvrwave.o: npvrwave.c
( cd $(SYS) ; $(CC_PIC) $(CCDEFS) $(CFLAGS) -c ../npvrwave.c )
# shared lib (netscape plugin)
$(PLUGINDEST)/$(SHAREDOBJ): $(HEADERS) $(OBJS)
( cd $(SYS) ; $(LDSO) -o $(SHAREDOBJ) $(OBJ) $(LDFLAGS) )
-@( cd $(PLUGINDEST) || mkdir $(PLUGINDEST) )
mv $(SYS)/$(SHAREDOBJ) $(PLUGINDEST)/$(SHAREDOBJ)
# cleanup
clean:
$(RM) $(OBJS)
realclean:
$(RM) $(OBJS) $(CLASSES) $(HEADERS) $(STUBS) $(SYS)/so_locations $(PLUGINDEST)/$(SHAREDOBJ)
|