File: Makefile

package info (click to toggle)
rjava 1.0-14-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,188 kB
  • sloc: java: 13,223; ansic: 5,503; sh: 3,776; xml: 325; makefile: 250; perl: 33
file content (69 lines) | stat: -rw-r--r-- 1,590 bytes parent folder | download | duplicates (9)
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
# Makefile for JRI bootstrap
# Win/OSX should be ok, Linux will need some tweaking

all: boot.jar

OSKIND=$(shell if echo "${OS}"|grep -i windows >/dev/null 2>&1; then echo win32; else uname -s; fi)

ifeq ($(OSKIND),win32)
ifeq ($(JAVA_HOME),)
JAVA_HOME=N:/java/jdk1.5.0
endif
JSO_PREFIX=
JSO_SUFFIX=.dll
JCPPFLAGS=-DWIN32 -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/win32
JLDFLAGS=-shared -Wl,--add-stdcall-alias -mno-cygwin
JLIBS=-L$(JAVA_HOME)/jre/bin/client -L$(JAVA_HOME)/jre/bin -ljvm
PATHSEP=\;
KNOWNOS=yes
OSNAME=Windows
JAVA=$(JAVA_HOME)/bin/java
JAVAC=$(JAVA_HOME)/bin/javac
JAR=$(JAVA_HOME)/bin/jar
endif
ifeq ($(OSKIND),Darwin)
JSO_PREFIX=lib
JSO_SUFFIX=.jnilib
JLDFLAGS=-dynamiclib
JLIBS=-framework JavaVM
JCPPFLAGS=-I/System/Library/Frameworks/JavaVM.framework/Headers
PATHSEP=:
KNOWNOS=yes
OSNAME=MacOSX
JAVA=java
JAVAC=javac
JAR=jar
endif
ifneq ($(KNOWNOS),yes)
ifeq ($(JAVA_HOME),)
JAVA_HOME=/usr/lib/java
endif
JSO_PREFIX=lib
JSO_SUFFIX=.so
JCPPFLAGS=-I$(JAVA_HOME)/include -I$(shell dirname `find $(JAVA_HOME)/include -name jni_md.h|sed -n -e 1p`)
JLDFLAGS=-shared
JLIBS=-L$(JAVA_HOME)/lib -ljvm
PATHSEP=:
OSNAME="generic unix"
JAVA=java
JAVAC=javac
JAR=jar
endif

$(JSO_PREFIX)boot$(JSO_SUFFIX): JRIBootstrap.o
	$(CC) $(JLDFLAGS) -o $@ $^ #$(JLIBS)

JRIBootstrap.o: JRIBootstrap.c JRIBootstrap.h
	$(CC) -c -o $@ $< $(JCPPFLAGS)

run: boot.jar
	$(JAVA) -jar $<

clean:
	rm -f JRIBootstrap.o $(JSO_PREFIX)boot$(JSO_SUFFIX) *.class *~

boot.jar: $(JSO_PREFIX)boot$(JSO_SUFFIX)
	$(JAVAC) -source 1.2 -target 1.2 *.java
	$(JAR) fcm $@ mft *.class $^

.PHONY: clean run all