myperl.mak
最終更新:2009/10/25
001: # MYPerl.class の Makefile(nmake.exe 用) 002: # 実行例:nmake -f myperl.mak 003: 004: # Java のディレクトリ 005: JAVA_DIR="C:\Program Files\Java\jdk1.6.0_14" 006: JAVA_INC_DIR=$(JAVA_DIR)\include 007: JAVA_INC_DIR2=$(JAVA_INC_DIR)\win32 008: 009: # Perl のディレクトリ 010: PERL_DIR=c:\perl 011: PERL_LIB_DIR=$(PERL_DIR)\lib\CORE 012: PERL_INC_DIR=$(PERL_LIB_DIR) 013: 014: # コマンド 015: MT=mt 016: JAVAC=$(JAVA_DIR)\bin\javac 017: JAVAH=$(JAVA_DIR)\bin\javah 018: PERL=$(PERL_DIR)\bin\perl 019: 020: # Perl 関連Cコンパイラオプション 021: PERL_CC_OPTS= -nologo -GF -W3 -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX 022: #PERL_CC_OPTS には perl -MExtUtils::Embed -e ccopts の実行結果を使う 023: 024: # Cコンパイラオプション 025: CFLAG=/nologo /DWIN32 $(PERL_CC_OPTS) /I $(JAVA_INC_DIR) /I $(JAVA_INC_DIR2) /I $(PERL_INC_DIR) 026: 027: # ライブラリ 028: LIBS=$(PERL_LIB_DIR)\perl510.lib 029: 030: .SUFFIXES: .class .java .c .h .obj .exe 031: 032: all: MYPerl.class myperl.dll 033: 034: clean: cleanup 035: 036: cleanup: 037: del *.exe *.obj *.class *.dll *.lib *.exp *.pdb *.ilk *.log *.manifest *.bak 038: 039: sample: Sample.class Sample2.class 040: 041: perlxsi.c: 042: $(PERL) -MExtUtils::Embed -e xsinit -- -o $@ 043: # perlxsi.c は perl から生成。 044: 045: .c.obj: 046: $(CC) /c /Fo$@ $< $(CFLAG) 047: 048: .java.class: 049: $(JAVAC) $< 050: 051: .class.h: 052: $(JAVAH) -jni $* 053: # メモ:$* はターゲットから拡張子を除いた文字列 054: 055: MYPerl.h: MYPerl.class 056: 057: myperl.obj: MYPerl.h 058: 059: myperl.dll: myperl.obj perlxsi.obj 060: $(CC) /LD /Fo$@ myperl.obj perlxsi.obj /link $(LIBS)
KAKU PROJECT (2009) |