2011-05-30 16:52:02 -04:00
|
|
|
include "..\..\src\makeinc.mak"
|
|
|
|
|
2011-12-11 12:04:35 -05:00
|
|
|
DIRENTLIB = ..\..\src\common\dirent-win32.lib
|
2011-05-30 16:52:02 -04:00
|
|
|
TARGET = $(PERL514OUTPUT)
|
|
|
|
|
|
|
|
all: $(TARGET)
|
|
|
|
|
|
|
|
perl.def:
|
|
|
|
echo EXPORTS > perl.def
|
|
|
|
echo xchat_plugin_init >> perl.def
|
|
|
|
echo xchat_plugin_deinit >> perl.def
|
|
|
|
echo xchat_plugin_get_info >> perl.def
|
|
|
|
|
2011-12-03 15:44:36 -05:00
|
|
|
# MSVC only supports __inline, while GCC only supports __inline__. This is defined incorretly
|
|
|
|
# in lib\CORE\config.h in Strawberry Perl, see #define PERL_STATIC_INLINE static __inline__
|
2011-05-30 16:52:02 -04:00
|
|
|
perl.obj: perl.c
|
2011-12-03 15:44:36 -05:00
|
|
|
$(CC) $(CFLAGS) perl.c $(GLIB) /I$(PERL514PATH)\perl\lib\CORE /I.. /DPERL_DLL=\"$(PERL514LIB).dll\" /D__inline__=__inline
|
|
|
|
|
|
|
|
perl514.def:
|
|
|
|
gendef $(PERL514PATH)\perl\bin\perl514.dll
|
|
|
|
|
|
|
|
$(PERL514LIB).lib: perl514.def
|
|
|
|
!ifdef X64
|
2011-12-03 15:50:39 -05:00
|
|
|
lib /nologo /machine:x64 /def:perl514.def
|
2011-12-03 15:44:36 -05:00
|
|
|
!else
|
2011-12-03 15:50:39 -05:00
|
|
|
lib /nologo /machine:x86 /def:perl514.def
|
2011-12-03 15:44:36 -05:00
|
|
|
!endif
|
2011-05-30 16:52:02 -04:00
|
|
|
|
|
|
|
perl.c: xchat.pm.h
|
|
|
|
|
|
|
|
xchat.pm.h: lib/Xchat.pm lib/IRC.pm
|
|
|
|
perl.exe generate_header
|
|
|
|
|
2011-12-03 15:44:36 -05:00
|
|
|
$(TARGET): perl.obj perl.def $(PERL514LIB).lib
|
|
|
|
$(LINK) /DLL /out:$(TARGET) perl.obj $(LDFLAGS) $(PERL514LIB).lib /delayload:$(PERL514LIB).dll $(DIRENTLIB) delayimp.lib user32.lib shell32.lib advapi32.lib /def:perl.def
|
2011-05-30 16:52:02 -04:00
|
|
|
|
|
|
|
clean:
|
|
|
|
@del $(TARGET)
|
|
|
|
@del *.obj
|
2011-12-03 15:44:36 -05:00
|
|
|
@del *.def
|
2011-05-30 16:52:02 -04:00
|
|
|
@del *.lib
|
|
|
|
@del *.exp
|