makefile.pl

来自「UNIX下perl实现代码」· PL 代码 · 共 75 行

PL
75
字号
#!/usr/bin/perl$JPL_SRC = "..";use Config;eval `$JPL_SRC/setvars -perl`;if ($^O eq 'linux') {    $flags = "-Dbool=char";	# avoid builtin bool altogether    $libs = "-lc -lm -ldl";} else {    $flags = "";    $libs = "-lc -lm -ldl";}# Needed for JNI.if ($^O eq 'solaris') {    $libs .= " -lthread";}open(MAKEFILE, ">Makefile");print MAKEFILE <<"SUBS";WHAT = PerlInterpreterJAVA_HOME = $ENV{JAVA_HOME}JPL_HOME = $ENV{JPL_HOME}ARCHNAME = $Config{archname}PERLARCHDIR = $Config{archlib}CC = $Config{cc}FLAGS = $Config{cccdlflags} $Config{ccdlflags} $Config{lddlflags} $flagsINCL  = -I\$(PERLARCHDIR)/CORE \\	-I\$(JAVA_HOME)/include \\	-I\$(JAVA_HOME)/include/$^O \\	-I\$(JAVA_HOME)/include/genunixLIBS = $libsSUBSprint MAKEFILE <<'NOSUBS';.SUFFIXES: .java .class.java.class:	javac $*.java.class.h:	javah -jni $*all: PerlInterpreter.class libPerlInterpreter.soPerlInterpreter.class: PerlInterpreter.javaPerlInterpreter.h: PerlInterpreter.classlibPerlInterpreter.so: PerlInterpreter.c PerlInterpreter.h	$(CC) $(FLAGS) $(INCL) PerlInterpreter.c \	$(PERLARCHDIR)/auto/DynaLoader/DynaLoader.a \	$(LIBS) \	-o libPerlInterpreter.sotest:install: all	mkdir -p $(JPL_HOME)/lib/$(ARCHNAME)	cp libPerlInterpreter.so $(JPL_HOME)/lib/$(ARCHNAME)	cp $(WHAT).class $(JPL_HOME)/libclean:	rm -f libPerlInterpreter.so	rm -f PerlInterpreter.classNOSUBSclose MAKEFILE;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?