Fri, 12 Sep 2003 19:04:52 +0000
[gaim-migrate @ 7356]
Perl plugins for Win Gaim.
| 6816 | 1 | # |
| 2 | # Makefile.mingw | |
| 3 | # | |
| 4 | # Description: Makefile for Gaim perl module. | |
| 5 | # | |
| 6 | ||
| 7 | TARGET = Gaim | |
| 8 | ||
| 9 | CC := gcc | |
| 10 | PERL := /cygdrive/c/perl/bin/perl | |
| 11 | ||
| 12 | EXTUTILS := C:/perl/lib/ExtUtils | |
| 13 | GAIM_TOP := ../../.. | |
| 14 | GTK_TOP := ../../../../win32-dev/gtk_2_0 | |
| 15 | PERL_TOP := ../../../../win32-dev/perl58 | |
| 16 | PERL_PLUGIN_TOP := .. | |
| 17 | GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir | |
| 18 | PERLMOD_INSTALL_DIR := $(GAIM_INSTALL_DIR)/perlmod | |
| 19 | ||
| 20 | INCLUDE_PATHS = -I. \ | |
| 21 | -I$(GAIM_TOP) \ | |
| 22 | -I$(GAIM_TOP)/src \ | |
| 23 | -I$(GTK_TOP)/include/glib-2.0 \ | |
| 24 | -I$(GTK_TOP)/lib/glib-2.0/include \ | |
| 25 | -I$(PERL_TOP)/CORE | |
| 26 | ||
| 27 | LIB_PATHS = -L$(PERL_TOP) \ | |
| 28 | -L$(PERL_PLUGIN_TOP) \ | |
| 29 | -L$(GAIM_TOP)/src \ | |
| 30 | -L$(GTK_TOP)/lib | |
| 31 | ||
| 32 | ||
| 33 | XS_FILES = Account.xs \ | |
| 34 | BuddyList.xs \ | |
| 35 | BuddyList_Buddy.xs \ | |
| 36 | BuddyList_Chat.xs \ | |
| 37 | BuddyList_Group.xs \ | |
| 38 | Connection.xs \ | |
| 39 | ConvWindow.xs \ | |
| 40 | Conversation.xs \ | |
| 41 | Conversation_Chat.xs \ | |
| 42 | Conversation_IM.xs \ | |
| 43 | Gaim.xs | |
| 44 | ||
| 45 | FALLBACKS = const-c.inc const-xs.inc | |
| 46 | ||
| 47 | C_FILES = $(XS_FILES:%.xs=%.c) | |
| 48 | ||
| 49 | OBJECTS = $(C_FILES:%.c=%.o) | |
| 50 | ||
| 51 | LIBS = -lperl58 \ | |
| 52 | -lperl \ | |
| 53 | -lgaim \ | |
| 54 | -lglib-2.0 | |
| 55 | ||
| 56 | # How to make a C file | |
| 57 | %.o: %.c | |
| 58 | $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ | |
| 59 | ||
| 60 | # How to make a XS file | |
| 61 | %.c: %.xs | |
| 62 | $(PERL) $(EXTUTILS)/xsubpp -typemap $(EXTUTILS)/typemap -typemap typemap $< > $@ | |
| 63 | ||
| 64 | %.inc: | |
| 65 | cp fallback/$@ ./ | |
| 66 | ||
| 67 | all: $(TARGET).dll | |
| 68 | ||
| 69 | install: | |
| 70 | mkdir -p $(PERLMOD_INSTALL_DIR) | |
| 71 | cp $(TARGET).dll Gaim.pm $(PERLMOD_INSTALL_DIR) | |
| 72 | ||
| 73 | $(TARGET).dll: $(FALLBACKS) $(OBJECTS) | |
| 74 | $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) -o $(TARGET).dll | |
| 75 | ||
| 76 | clean: | |
| 77 | rm -rf *.o $(TARGET).dll $(FALLBACKS) |