home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / perl560.zip / jpl / PerlInterpreter / Makefile.PL next >
Perl Script  |  1999-09-14  |  1KB  |  75 lines

  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. } else {
  13.     $flags = "";
  14.     $libs = "-lc -lm -ldl";
  15. }
  16.  
  17. # Needed for JNI.
  18. if ($^O eq 'solaris') {
  19.     $libs .= " -lthread";
  20. }
  21.  
  22. open(MAKEFILE, ">Makefile");
  23.  
  24. print MAKEFILE <<"SUBS";
  25. WHAT = PerlInterpreter
  26. JAVA_HOME = $ENV{JAVA_HOME}
  27. JPL_HOME = $ENV{JPL_HOME}
  28. ARCHNAME = $Config{archname}
  29. PERLARCHDIR = $Config{archlib}
  30. CC = $Config{cc}
  31. FLAGS = $Config{cccdlflags} $Config{ccdlflags} $Config{lddlflags} $flags
  32. INCL  = -I\$(PERLARCHDIR)/CORE \\
  33.     -I\$(JAVA_HOME)/include \\
  34.     -I\$(JAVA_HOME)/include/$^O \\
  35.     -I\$(JAVA_HOME)/include/genunix
  36. LIBS = $libs
  37.  
  38. SUBS
  39.  
  40.  
  41. print MAKEFILE <<'NOSUBS';
  42. .SUFFIXES: .java .class
  43.  
  44. .java.class:
  45.     javac $*.java
  46.  
  47. .class.h:
  48.     javah -jni $*
  49.  
  50. all: PerlInterpreter.class libPerlInterpreter.so
  51.  
  52. PerlInterpreter.class: PerlInterpreter.java
  53.  
  54. PerlInterpreter.h: PerlInterpreter.class
  55.  
  56. libPerlInterpreter.so: PerlInterpreter.c PerlInterpreter.h
  57.     $(CC) $(FLAGS) $(INCL) PerlInterpreter.c \
  58.     $(PERLARCHDIR)/auto/DynaLoader/DynaLoader.a \
  59.     $(LIBS) \
  60.     -o libPerlInterpreter.so
  61.  
  62. test:
  63.  
  64. install: all
  65.     mkdir -p $(JPL_HOME)/lib/$(ARCHNAME)
  66.     cp libPerlInterpreter.so $(JPL_HOME)/lib/$(ARCHNAME)
  67.     cp $(WHAT).class $(JPL_HOME)/lib
  68.  
  69. clean:
  70.     rm -f libPerlInterpreter.so
  71.     rm -f PerlInterpreter.class
  72. NOSUBS
  73.  
  74. close MAKEFILE;
  75.