Open an explorer.exe window at the location of the file when clicking
[pidgin-git.git] / libpurple / Makefile.mingw
blob42b70fe70098d0123a16bbf18be1e7dc484cbc8a
2 # Makefile.mingw
4 # Description: Makefile for win32 (mingw) version of libpurple
7 PIDGIN_TREE_TOP := ..
8 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
10 TARGET = libpurple
11 NEEDED_DLLS = $(LIBXML2_TOP)/bin/libxml2-2.dll
14 ## INCLUDE PATHS
16 INCLUDE_PATHS +=        \
17                         -I$(PURPLE_TOP) \
18                         -I$(PURPLE_TOP)/win32 \
19                         -I$(PIDGIN_TREE_TOP) \
20                         -I$(GTK_TOP)/include \
21                         -I$(GTK_TOP)/include/glib-2.0 \
22                         -I$(GTK_TOP)/lib/glib-2.0/include \
23                         -I$(LIBXML2_TOP)/include/libxml2
25 LIB_PATHS +=            -L$(GTK_TOP)/lib \
26                         -L$(LIBXML2_TOP)/lib
29 ##  SOURCES, OBJECTS
31 C_SRC = \
32                         account.c \
33                         accountopt.c \
34                         blist.c \
35                         buddyicon.c \
36                         certificate.c \
37                         cipher.c \
38                         ciphers/des.c \
39                         ciphers/gchecksum.c \
40                         ciphers/hmac.c \
41                         ciphers/md4.c \
42                         ciphers/md5.c \
43                         ciphers/rc4.c \
44                         ciphers/sha1.c \
45                         ciphers/sha256.c \
46                         circbuffer.c \
47                         cmds.c \
48                         connection.c \
49                         conversation.c \
50                         core.c \
51                         debug.c \
52                         dnsquery.c \
53                         dnssrv.c \
54                         eventloop.c \
55                         ft.c \
56                         idle.c \
57                         imgstore.c \
58                         log.c \
59                         mediamanager.c \
60                         media.c \
61                         mime.c \
62                         nat-pmp.c \
63                         network.c \
64                         notify.c \
65                         ntlm.c \
66                         plugin.c \
67                         pluginpref.c \
68                         pounce.c \
69                         prefs.c \
70                         privacy.c \
71                         proxy.c \
72                         prpl.c \
73                         request.c \
74                         roomlist.c \
75                         savedstatuses.c \
76                         server.c \
77                         signals.c \
78                         smiley.c \
79                         sound-theme-loader.c \
80                         sound-theme.c \
81                         sound.c \
82                         sslconn.c \
83                         status.c \
84                         stringref.c \
85                         stun.c \
86                         theme-loader.c \
87                         theme-manager.c \
88                         theme.c \
89                         upnp.c \
90                         util.c \
91                         value.c \
92                         version.c \
93                         whiteboard.c \
94                         xmlnode.c \
95                         win32/giowin32.c \
96                         win32/libc_interface.c \
97                         win32/win32dep.c
99 RC_SRC = win32/libpurplerc.rc
101 OBJECTS = $(C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o)
104 ## LIBRARIES
106 LIBS =  \
107                 -lglib-2.0 \
108                 -lgthread-2.0 \
109                 -lgobject-2.0 \
110                 -lgmodule-2.0 \
111                 -lintl \
112                 -lws2_32 \
113                 -lxml2
115 include $(PIDGIN_COMMON_RULES)
118 ## TARGET DEFINITIONS
120 .PHONY: all install install_shallow clean
122 all: $(TARGET).dll
123         $(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE)
124         $(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE)
126 install_shallow: $(PURPLE_INSTALL_DIR) $(TARGET).dll
127         cp $(TARGET).dll $(PURPLE_INSTALL_DIR)
128         cp $(NEEDED_DLLS) $(PURPLE_INSTALL_DIR)
130 install: install_shallow all
131         $(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) install
132         $(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE) install
134 ./win32/libpurplerc.rc: ./win32/libpurplerc.rc.in $(PIDGIN_TREE_TOP)/VERSION
135         sed -e 's/@PURPLE_VERSION@/$(PURPLE_VERSION)/g' \
136             $@.in > $@
138 $(OBJECTS): $(PURPLE_CONFIG_H) $(PURPLE_VERSION_H) $(PURPLE_PURPLE_H)
140 $(TARGET).dll $(TARGET).dll.a: $(OBJECTS)
141         $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--output-def,$(TARGET).def,--out-implib,$(TARGET).dll.a -o $(TARGET).dll
144 ## CLEAN RULES
146 clean:
147         rm -f $(OBJECTS) $(RC_SRC) $(PURPLE_VERSION_H) $(PURPLE_PURPLE_H)
148         rm -f $(TARGET).dll $(TARGET).dll.a $(TARGET).def
149         $(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) clean
150         $(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE) clean
152 include $(PIDGIN_COMMON_TARGETS)