| 1 # |
|
| 2 # Makefile.mingw |
|
| 3 # |
|
| 4 # Description: Makefile for Pidgin perl module. |
|
| 5 # |
|
| 6 |
|
| 7 PIDGIN_TREE_TOP := ../../../.. |
|
| 8 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak |
|
| 9 |
|
| 10 #we cannot include win32dep.h, but we need struct sockaddr_in6 definition |
|
| 11 CFLAGS += -include ws2tcpip.h |
|
| 12 |
|
| 13 GCCWARNINGS += -Wno-comment -Wno-unused -Wno-nested-externs |
|
| 14 |
|
| 15 DEFINES := $(subst -DWIN32_LEAN_AND_MEAN,,$(DEFINES)) |
|
| 16 |
|
| 17 TARGET = Pidgin |
|
| 18 |
|
| 19 ## |
|
| 20 ## INCLUDE PATHS |
|
| 21 ## |
|
| 22 INCLUDE_PATHS = -I. \ |
|
| 23 -I$(PIDGIN_TREE_TOP) \ |
|
| 24 -I$(PURPLE_TOP) \ |
|
| 25 -I$(PURPLE_TOP)/win32 \ |
|
| 26 -I$(PIDGIN_TOP) \ |
|
| 27 -I$(PIDGIN_TOP)/win32 \ |
|
| 28 -I$(GTK_TOP)/include \ |
|
| 29 -I$(GTK_TOP)/include/atk-1.0 \ |
|
| 30 -I$(GTK_TOP)/include/cairo \ |
|
| 31 -I$(GTK_TOP)/include/glib-2.0 \ |
|
| 32 -I$(GTK_TOP)/include/gtk-2.0 \ |
|
| 33 -I$(GTK_TOP)/include/pango-1.0 \ |
|
| 34 -I$(GTK_TOP)/include/gdk-pixbuf-2.0 \ |
|
| 35 -I$(GTK_TOP)/lib/glib-2.0/include \ |
|
| 36 -I$(GTK_TOP)/lib/gtk-2.0/include \ |
|
| 37 -I$(LIBSOUP_TOP)/include/libsoup-2.4 \ |
|
| 38 -I$(WEBKITGTK_TOP)/include/webkitgtk-1.0 \ |
|
| 39 -I$(PERL_LIB_TOP)/include |
|
| 40 |
|
| 41 LIB_PATHS += \ |
|
| 42 -L$(PERL_LIB_TOP)/lib \ |
|
| 43 -L$(PURPLE_TOP) \ |
|
| 44 -L$(PIDGIN_TOP) \ |
|
| 45 -L$(PURPLE_PERL_TOP) \ |
|
| 46 -L$(GTK_TOP)/lib |
|
| 47 |
|
| 48 ## |
|
| 49 ## SOURCES, OBJECTS |
|
| 50 ## |
|
| 51 XS_FILES = \ |
|
| 52 Pidgin.xs \ |
|
| 53 GtkAccount.xs \ |
|
| 54 GtkBlist.xs \ |
|
| 55 GtkConn.xs \ |
|
| 56 GtkConv.xs \ |
|
| 57 GtkConvWin.xs \ |
|
| 58 GtkDebug.xs \ |
|
| 59 GtkDialogs.xs \ |
|
| 60 GtkFt.xs \ |
|
| 61 GtkLog.xs \ |
|
| 62 GtkMenuTray.xs \ |
|
| 63 GtkPlugin.xs \ |
|
| 64 GtkPluginPref.xs \ |
|
| 65 GtkPounce.xs \ |
|
| 66 GtkPrefs.xs \ |
|
| 67 GtkPrivacy.xs \ |
|
| 68 GtkRoomlist.xs \ |
|
| 69 GtkSavedStatuses.xs \ |
|
| 70 GtkSound.xs \ |
|
| 71 GtkStatusBox.xs \ |
|
| 72 GtkUtils.xs |
|
| 73 |
|
| 74 |
|
| 75 C_FILES = $(XS_FILES:%.xs=%.c) |
|
| 76 OBJECTS = $(C_FILES:%.c=%.o) |
|
| 77 |
|
| 78 ## |
|
| 79 ## LIBRARIES |
|
| 80 ## |
|
| 81 LIBS = -lperl520 \ |
|
| 82 -lperl \ |
|
| 83 -lpurple \ |
|
| 84 -lpidgin \ |
|
| 85 -lglib-2.0 |
|
| 86 |
|
| 87 include $(PIDGIN_COMMON_RULES) |
|
| 88 |
|
| 89 ## |
|
| 90 ## TARGETS |
|
| 91 ## |
|
| 92 .PHONY: all install clean |
|
| 93 |
|
| 94 all: $(TARGET).dll |
|
| 95 |
|
| 96 $(PURPLE_INSTALL_PERL_DIR)/Purple.pm: |
|
| 97 $(MAKE) -C $(PURPLE_PERL_TOP)/common -f $(MINGW_MAKEFILE) install |
|
| 98 |
|
| 99 install: all $(PURPLE_INSTALL_PERL_DIR)/Purple.pm |
|
| 100 rm -f $(PIDGIN_INSTALL_PERL_DIR)/$(TARGET).dll $(PIDGIN_INSTALL_PERL_DIR)/auto/Pidgin/$(TARGET).pm |
|
| 101 mkdir -p $(PIDGIN_INSTALL_PERL_DIR) |
|
| 102 cp $(TARGET).pm $(PIDGIN_INSTALL_PERL_DIR) |
|
| 103 mkdir -p $(PIDGIN_INSTALL_PERL_DIR)/auto/Pidgin |
|
| 104 cp $(TARGET).dll $(PIDGIN_INSTALL_PERL_DIR)/auto/Pidgin |
|
| 105 |
|
| 106 $(C_FILES): $(PIDGIN_CONFIG_H) |
|
| 107 |
|
| 108 $(TARGET).dll: $(PIDGIN_DLL).a $(PURPLE_PERL_DLL).a $(OBJECTS) |
|
| 109 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(DLL_LD_FLAGS) $(LIBS) -o $(TARGET).dll |
|
| 110 |
|
| 111 ## |
|
| 112 ## CLEAN |
|
| 113 ## |
|
| 114 clean: |
|
| 115 rm -f *.o $(C_FILES) $(TARGET).dll |
|
| 116 |
|
| 117 include $(PIDGIN_COMMON_TARGETS) |
|