myperl.mak

最終更新:2009/10/25

myperl.mak

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)
Copyright (C) KAKU PROJECT (2009)KAKU PROJECT (2009)