File: makefile

package info (click to toggle)
vrwave 0.9-4
  • links: PTS
  • area: non-free
  • in suites: slink
  • size: 5,032 kB
  • ctags: 7,153
  • sloc: java: 15,050; ansic: 8,219; sh: 458; makefile: 181
file content (117 lines) | stat: -rw-r--r-- 3,317 bytes parent folder | download | duplicates (3)
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)