This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
op/readdir.t (was Re: perl@14152)
[perl5.git] / jpl / Sample / Makefile.PL
1 #!/usr/bin/perl
2
3 $JPL_HOME = $ENV{JPL_HOME}
4     or die "You have not run setvars to set your environment variables.\n" .
5            "See the JPL README file for more information.\n";
6
7 use Config;
8
9 eval `$JPL_HOME/setvars -perl`;
10
11 chop($WHAT = `pwd`);
12 $WHAT =~ s#.*/##;
13
14 if ($^O eq 'linux') {
15     $flags = "-Dbool=char";     # avoid builtin bool altogether
16     $libs = "-lc -lm -ldl";
17 } else {
18     $flags = "";
19     $libs = "-lc -lm -ldl";
20 }
21
22 # Needed for JNI
23 if ($^O eq 'solaris') {
24     $libs .= " -lthread";
25 }
26
27 chop($cwd = `pwd`);
28 ($jpldir = $cwd) =~ s#/[^/]*$##;
29
30 open(MAKEFILE, ">Makefile");
31
32 print MAKEFILE <<"SUBS";
33 CC = $Config{cc}
34 WHAT = $WHAT
35 PERL = perl$]
36 ARCHNAME = $Config{archname}
37 JAVA_HOME = $ENV{JAVA_HOME}
38 JPL_HOME = $ENV{JPL_HOME}
39 PERLARCHDIR = $Config{archlib}
40 FLAGS = $Config{cccdlflags} $Config{ccdlflags} $Config{lddlflags} $flags
41 INCL  = -I\$(PERLARCHDIR)/CORE \\
42         -I\$(JAVA_HOME)/include \\
43         -I\$(JAVA_HOME)/include/$^O \\
44         -I\$(JAVA_HOME)/include/genunix
45 LIBS = $libs
46
47 SUBS
48
49 print MAKEFILE <<'NOSUBS';
50 .SUFFIXES: .jpl .class
51
52 .jpl.class:
53         $(PERL) -MJPL::Compile -e "file('$*.jpl')"
54
55 all: $(WHAT).class lib$(WHAT).so
56
57 debug: $(WHAT)_g.class lib$(WHAT)_g.so
58
59 lib$(WHAT).so: $(WHAT).c $(JPL_HOME)/lib/$(ARCHNAME)/libPerlInterpreter.so
60         $(CC) $(FLAGS) $(INCL) $(WHAT).c \
61         $(PERLARCHDIR)/CORE/libperl.so \
62         $(JPL_HOME)/lib/$(ARCHNAME)/libPerlInterpreter.so \
63         $(LIBS) \
64         -o lib$(WHAT).so
65
66 lib$(WHAT)_g.so: $(WHAT).c $(JPL_HOME)/lib/$(ARCHNAME)/libPerlInterpreter_g.so
67         $(CC) -g $(FLAGS) $(INCL) $(WHAT).c \
68         $(PERLARCHDIR)/CORE/libperl.so \
69         $(JPL_HOME)/lib/$(ARCHNAME)/libPerlInterpreter_g.so \
70         $(LIBS) \
71         -o lib$(WHAT)_g.so
72
73 test: all
74         java $(WHAT)
75
76 install: all
77         cp *.class              $(JPL_HOME)/lib
78         cp lib$(WHAT).so        $(JPL_HOME)/lib/$(ARCHNAME)
79         cp $(WHAT).pl           $(JPL_HOME)/perl
80
81 clean:
82         rm -f $(WHAT).c $(WHAT).h \
83         $(WHAT)*.class $(WHAT)*.pl lib$(WHAT).so $(WHAT)*.java
84
85 distclean: clean
86         rm -f Makefile
87
88 NOSUBS
89
90 close MAKEFILE;