Commit | Line | Data |
d50cb536 |
1 | #!/usr/bin/perl |
2 | |
3 | $JPL_SRC = ".."; |
4 | |
5 | use Config; |
6 | |
7 | eval `$JPL_SRC/setvars -perl`; |
8 | |
9 | if ($^O eq 'linux') { |
10 | $flags = "-Dbool=char"; # avoid builtin bool altogether |
11 | $libs = "-lc -lm -ldl"; |
12 | } |
13 | else { |
14 | $flags = ""; |
15 | $libs = "-lc -lm -ldl"; |
16 | } |
17 | |
18 | open(MAKEFILE, ">Makefile"); |
19 | |
20 | print MAKEFILE <<"SUBS"; |
21 | WHAT = PerlInterpreter |
22 | JAVA_HOME = $ENV{JAVA_HOME} |
23 | JPL_HOME = $ENV{JPL_HOME} |
24 | ARCHNAME = $Config{archname} |
25 | PERLARCHDIR = $Config{archlib} |
26 | CC = $Config{cc} |
27 | FLAGS = $Config{cccdlflags} $Config{ccdlflags} $Config{lddlflags} $flags |
28 | INCL = -I\$(PERLARCHDIR)/CORE \\ |
29 | -I\$(JAVA_HOME)/include \\ |
30 | -I\$(JAVA_HOME)/include/$^O \\ |
31 | -I\$(JAVA_HOME)/include/genunix |
32 | LIBS = $libs |
33 | |
34 | SUBS |
35 | |
36 | |
37 | print MAKEFILE <<'NOSUBS'; |
38 | .SUFFIXES: .java .class |
39 | |
40 | .java.class: |
41 | javac $*.java |
42 | |
43 | .class.h: |
44 | javah -jni $* |
45 | |
46 | all: PerlInterpreter.class libPerlInterpreter.so |
47 | |
48 | PerlInterpreter.class: PerlInterpreter.java |
49 | |
50 | PerlInterpreter.h: PerlInterpreter.class |
51 | |
52 | libPerlInterpreter.so: PerlInterpreter.c PerlInterpreter.h |
53 | $(CC) $(FLAGS) $(INCL) PerlInterpreter.c \ |
54 | $(PERLARCHDIR)/auto/DynaLoader/DynaLoader.a \ |
55 | $(LIBS) \ |
56 | -o libPerlInterpreter.so |
57 | |
58 | test: |
59 | |
60 | install: all |
61 | mkdir -p $(JPL_HOME)/lib/$(ARCHNAME) |
62 | cp libPerlInterpreter.so $(JPL_HOME)/lib/$(ARCHNAME) |
63 | cp $(WHAT).class $(JPL_HOME)/lib |
64 | |
65 | clean: |
66 | rm -f libPerlInterpreter.so |
67 | rm -f PerlInterpreter.class |
68 | NOSUBS |
69 | |
70 | close MAKEFILE; |