1# 2# Makefile.mingw 3# 4# Description: Makefile for encrypt plugin. 5# 6 7# 8# PATHS 9# 10 11PE_PIDGIN_TOP := ../../.. 12GTK_TOP := $(PE_PIDGIN_TOP)/../win32-dev/gtk_2_0 13PE_TOP := . 14 15PIDGIN_INSTALL_DIR := $(PE_PIDGIN_TOP)/win32-install-dir 16DLL_INSTALL_DIR := $(PIDGIN_INSTALL_DIR)/plugins 17STANDALONE_INSTALL_DIR := $(PE_TOP)/win32-install-dir 18 19NSS_TOP := $(PE_PIDGIN_TOP)/../win32-dev/nss-3.11.4 20NSPR_TOP := $(PE_PIDGIN_TOP)/../win32-dev/nspr-4.6.4 21 22## 23## VARIABLE DEFINITIONS 24## 25 26ENC_VERSION := $(shell cat ./VERSION) 27MAIN_VERSION := $(shell cat ../../../VERSION) 28 29TARGET = encrypt 30 31PO = ./po 32 33# Compiler Options 34 35CFLAGS = -DGETTEXT_STATIC 36 37DEFINES = -DENABLE_NLS -DENC_VERSION=\"$(ENC_VERSION)\" -DNO_CONFIG -DENC_PACKAGE=\"pidgin-encryption\" -DPIDGIN_DATADIR="wpidgin_install_dir()" 38 39## 40## INCLUDE MAKEFILES 41## 42 43include $(PE_PIDGIN_TOP)/libpurple/win32/global.mak 44 45## 46## INCLUDE PATHS 47## 48 49INCLUDE_PATHS += -I. \ 50 -I$(GTK_TOP)/include \ 51 -I$(NSS_TOP)/include \ 52 -I$(NSPR_TOP)/include \ 53 -I$(GTK_TOP)/include/gtk-2.0 \ 54 -I$(GTK_TOP)/include/glib-2.0 \ 55 -I$(GTK_TOP)/include/pango-1.0 \ 56 -I$(GTK_TOP)/include/atk-1.0 \ 57 -I$(GTK_TOP)/lib/glib-2.0/include \ 58 -I$(GTK_TOP)/lib/gtk-2.0/include \ 59 -I$(PE_PIDGIN_TOP)/libpurple \ 60 -I$(PE_PIDGIN_TOP)/libpurple/win32 \ 61 -I$(PE_PIDGIN_TOP)/pidgin \ 62 -I$(PE_PIDGIN_TOP)/pidgin/win32 \ 63 -I$(PE_PIDGIN_TOP) 64 65 66LIB_PATHS = -L$(NSS_TOP)/lib \ 67 -L$(NSPR_TOP)/lib \ 68 -L$(GTK_TOP)/lib \ 69 -L$(PE_PIDGIN_TOP)/libpurple \ 70 -L$(PE_PIDGIN_TOP)/pidgin \ 71 -L$(PE_PIDGIN_TOP)/win32-install-dir 72 73 74## 75## SOURCES, OBJECTS 76## 77 78C_SRC = pe_blist.c config_ui.c cryptutil.c gpg.c keys_ui.c \ 79 prefs.c cryptproto.c encrypt.c keys.c nonce.c\ 80 nss_mgf1.c nss_oaep.c nss_pss.c rsa_nss.c \ 81 state.c state_ui.c pe_ui.c 82 83 84 85OBJECTS = $(C_SRC:%.c=%.o) 86 87 88## 89## LIBRARIES 90## 91 92LIBS = -lgtk-win32-2.0 \ 93 -latk-1.0 \ 94 -lpango-1.0 \ 95 -lglib-2.0 \ 96 -lgdk-win32-2.0 \ 97 -lgdk_pixbuf-2.0 \ 98 -lgmodule-2.0 \ 99 -lgobject-2.0 \ 100 -liberty \ 101 -lwinmm \ 102 -lws2_32 \ 103 -lintl \ 104 -lpurple \ 105 -lpidgin \ 106 -lnss3 \ 107 -lnspr4 \ 108 -lssl3 109 110 111## 112## RULES 113## 114 115# How to make a C file 116 117%.o: %.c 118 $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $< 119 120## 121## TARGET DEFINITIONS 122## 123 124.PHONY: all clean installer 125 126all: $(TARGET).dll 127 128install: $(TARGET).dll 129 $(MAKE) -C $(PO) -f Makefile.mingw install 130 cp $(TARGET).dll $(DLL_INSTALL_DIR) 131 mkdir -p $(STANDALONE_INSTALL_DIR)/plugins 132 cp $(TARGET).dll $(STANDALONE_INSTALL_DIR)/plugins 133 mkdir -p $(STANDALONE_INSTALL_DIR)/pixmaps/pidgin-encryption 134 cp pixmaps/*.png $(STANDALONE_INSTALL_DIR)/pixmaps/pidgin-encryption 135 136## 137## BUILD Dependencies 138## 139 140#$(PURPLE_TOP)/src/purple.lib: 141# $(MAKE) -C $(PURPLE_TOP)/src -f Makefile.mingw purple.lib 142 143## 144## BUILD DLL 145## 146# $(PURPLE_TOP)/src/purple.lib 147$(TARGET).dll: pidgin-encryption-config.h $(OBJECTS) 148 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll 149 150installer: 151 makensis.exe /DPIDGIN-ENCRYPTION_VERSION="$(ENC_VERSION)" /DPIDGIN_VERSION="$(MAIN_VERSION)" pidgin-encryption-installer.nsi 152 153pidgin-encryption-config.h: 154 touch pidgin-encryption-config.h 155 156## 157## CLEAN RULES 158## 159 160clean: 161 rm -rf *.o 162 rm -rf $(TARGET).dll 163