comparison Makefile.mingw @ 16177:d88f0f320c9b

merge of '07fc4db9a3c2c12596e0354b8e7959aa847f966b' and '2e6d324c725b3e6a2c803589bca3f0ac9b9790bf'
author Richard Laager <rlaager@wiktel.com>
date Mon, 16 Apr 2007 00:44:33 +0000
parents ded8da3de5f8
children 8da9fef3843a
comparison
equal deleted inserted replaced
14940:2e3eba412412 16177:d88f0f320c9b
1 # Makefile.mingw 1 # Makefile.mingw
2 # 2 #
3 # Author: hermanator12002@yahoo.com 3 # Author: hermanator12002@yahoo.com
4 # Date 9/11/02 4 # Date 9/11/02
5 # Description: Top Makefile for win32 (mingw) port of Gaim 5 # Description: Top Makefile for win32 (mingw) port of Pidgin and LibPurple
6 # 6 #
7 7
8 GAIM_SRC = ./src 8 PIDGIN_TREE_TOP := .
9 GAIM_PROTOS = $(GAIM_SRC)/protocols 9 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
10 GAIM_PLUGINS = ./plugins
11 GAIM_PIXMAPS = ./pixmaps
12 GAIM_SOUNDS = ./sounds
13 GAIM_INSTALL_DIR = ./win32-install-dir
14 GTKSPELL_TOP = ../win32-dev/gtkspell-2.0.6/gtkspell
15 IDLETRACK_TOP = $(GAIM_SRC)/win32/IdleTracker
16 GTKRC_TOP = ../win32-dev/gtkrc
17 OSCAR = $(GAIM_PROTOS)/oscar
18 YAHOO = $(GAIM_PROTOS)/yahoo
19 MSN = $(GAIM_PROTOS)/msn
20 TOC = $(GAIM_PROTOS)/toc
21 IRC = $(GAIM_PROTOS)/irc
22 JABBER = $(GAIM_PROTOS)/jabber
23 NAPSTER = $(GAIM_PROTOS)/napster
24 GG = $(GAIM_PROTOS)/gg
25 NOVELL = $(GAIM_PROTOS)/novell
26 SILC = $(GAIM_PROTOS)/silc
27 SIMPLE = $(GAIM_PROTOS)/simple
28 SAMETIME = $(GAIM_PROTOS)/sametime
29 PO = ./po
30 10
31 MAKENSIS := makensis.exe 11 # Generate a X.X.X.X version for the installer file versioning header
12 # The last digit will be 99 for a final release, 0 for dev or unknown, or the beta number
13 PIDGIN_PRODUCT_VERSION = $(shell \
14 awk 'BEGIN {FS="."} { \
15 if (int($$3) == $$3) { \
16 $$4 = "99"; \
17 } else { \
18 $$5 = $$3; \
19 sub(int($$3), "", $$5); \
20 if ($$5 == "dev") { \
21 $$4 = "0"; \
22 } else { \
23 if (sub("beta", "", $$5) > 0) { \
24 $$4 = $$5; \
25 } else { \
26 $$4 = "0"; \
27 } \
28 } \
29 } \
30 printf("%s.%s.%s.%s", $$1, $$2, int($$3), $$4); \
31 exit; \
32 }' VERSION)
32 33
33 VERSION := $(shell cat ./VERSION) 34 GTK_INSTALL_VERSION = $(shell \
35 source ../gtk_installer/version.sh; \
36 echo $$gtk_version \
37 )
34 38
35 NEEDED_DLLS = $(GTKSPELL_TOP)/libgtkspell.dll \ 39 # Any *.dll or *.exe files included in win32-install-dir that we don't compile
36 $(IDLETRACK_TOP)/idletrack.dll 40 # should be included in this list so they don't get stripped
41 EXTERNAL_DLLS = \
42 freebl3.dll \
43 libgtkspell.dll \
44 libmeanwhile-1.dll \
45 libxml2.dll \
46 nspr4.dll \
47 nss3.dll \
48 nssckbi.dll \
49 plc4.dll \
50 plds4.dll \
51 silc.dll \
52 silcclient.dll \
53 softokn3.dll \
54 ssl3.dll
37 55
38 SOUNDS = $(GAIM_SOUNDS)/alert.wav \ 56 #build an expression for `find` to use to ignore the above files
39 $(GAIM_SOUNDS)/login.wav \ 57 EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS))
40 $(GAIM_SOUNDS)/logout.wav \
41 $(GAIM_SOUNDS)/receive.wav \
42 $(GAIM_SOUNDS)/send.wav
43 58
59 .PHONY: all install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir
44 60
45 ## 61 all: $(PIDGIN_CONFIG_H)
46 ## Don't forget to change STATIC_PROTO_INIT, in config.h.mingw if you 62 $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE)
47 ## change the status of a protocol (static/plugin) 63 $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE)
48 ## 64 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE)
49 65
50 OSCAR_TYPE = PLUGIN 66 install: all $(PIDGIN_INSTALL_DIR)
51 YAHOO_TYPE = PLUGIN 67 $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) install
52 MSN_TYPE = PLUGIN 68 $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) install
53 TOC_TYPE = PLUGIN 69 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) install
54 IRC_TYPE = PLUGIN
55 JABBER_TYPE = PLUGIN
56 NAPSTER_TYPE = PLUGIN
57 GG_TYPE = PLUGIN
58 NOVELL_TYPE = PLUGIN
59 SILC_TYPE = PLUGIN
60 SIMPLE_TYPE = PLUGIN
61 SAMETIME_TYPE = PLUGIN
62 70
63 all: 71 create_release_install_dir: install
64 cp config.h.mingw config.h 72 rm -rf $(PIDGIN_INSTALL_DIR).release
65 $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw 73 cp -R $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release
66 $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw 74 find $(PIDGIN_INSTALL_DIR).release \( -name '*.dll' -o -name '*.exe' \) \
67 $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw 75 -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) -exec $(STRIP) --strip-unneeded {} ';'
68 $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw
69 $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw
70 $(MAKE) TYPE='$(NAPSTER_TYPE)' -C $(NAPSTER) -f Makefile.mingw
71 $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw
72 $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw
73 $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw
74 $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f Makefile.mingw
75 $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f Makefile.mingw
76 $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw
77 $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw
78 76
77 installer: create_release_install_dir
78 $(MAKENSIS) /V3 /DPIDGIN_VERSION="$(PIDGIN_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DWITH_GTK /DPIDGIN_INSTALL_DIR="$(PIDGIN_INSTALL_DIR).release" /DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
79 mv pidgin/win32/nsis/pidgin*.exe ./
79 80
80 install: all 81 installer_nogtk: create_release_install_dir
81 mkdir -p $(GAIM_INSTALL_DIR)/plugins 82 $(MAKENSIS) /V3 /DPIDGIN_VERSION="$(PIDGIN_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DPIDGIN_INSTALL_DIR="$(PIDGIN_INSTALL_DIR).release" /DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
82 mkdir -p $(GAIM_INSTALL_DIR)/sounds/gaim 83 mv pidgin/win32/nsis/pidgin*.exe ./
83 $(MAKE) -C $(GAIM_PIXMAPS) -f Makefile.mingw install
84 $(MAKE) -C $(PO) -f Makefile.mingw install
85 $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw install
86 $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw install
87 $(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw install
88 $(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw install
89 $(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw install
90 $(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw install
91 $(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw install
92 $(MAKE) TYPE='$(NAPSTER_TYPE)' -C $(NAPSTER) -f Makefile.mingw install
93 $(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw install
94 $(MAKE) TYPE='$(NOVELL_TYPE)' -C $(NOVELL) -f Makefile.mingw install
95 $(MAKE) TYPE='$(SILC_TYPE)' -C $(SILC) -f Makefile.mingw install
96 $(MAKE) TYPE='$(SIMPLE_TYPE)' -C $(SIMPLE) -f Makefile.mingw install
97 $(MAKE) TYPE='$(SAMETIME_TYPE)' -C $(SAMETIME) -f Makefile.mingw install
98 cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR)
99 cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim
100 84
101 installer: 85 installer_debug: install
102 $(MAKENSIS) /DGAIM_VERSION="$(VERSION)" /DWITH_GTK gaim-installer.nsi 86 $(MAKENSIS) /V3 /DPIDGIN_VERSION="$(PIDGIN_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DPIDGIN_INSTALL_DIR="$(PIDGIN_INSTALL_DIR)" /DDEBUG /DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi
87 mv pidgin/win32/nsis/pidgin*.exe ./
103 88
104 installer_nogtk: 89 installers: installer installer_nogtk installer_debug
105 $(MAKENSIS) /DGAIM_VERSION="$(VERSION)" gaim-installer.nsi
106
107 installer_debug:
108 $(MAKENSIS) /DGAIM_VERSION="$(VERSION)" /DDEBUG gaim-installer.nsi
109
110 installers: installer installer_nogtk
111
112 90
113 clean: 91 clean:
114 $(MAKE) -C $(PO) -f Makefile.mingw clean 92 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) clean
115 $(MAKE) -C $(OSCAR) -f Makefile.mingw clean 93 $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) clean
116 $(MAKE) -C $(YAHOO) -f Makefile.mingw clean 94 $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) clean
117 $(MAKE) -C $(MSN) -f Makefile.mingw clean 95 rm -f $(PIDGIN_CONFIG_H) VERSION pidgin*.exe
118 $(MAKE) -C $(IRC) -f Makefile.mingw clean 96
119 $(MAKE) -C $(JABBER) -f Makefile.mingw clean 97 uninstall:
120 $(MAKE) -C $(NAPSTER) -f Makefile.mingw clean 98 rm -rf $(PURPLE_INSTALL_PERLMOD_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_PO_DIR) $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release
121 $(MAKE) -C $(GG) -f Makefile.mingw clean 99
122 $(MAKE) -C $(NOVELL) -f Makefile.mingw clean 100 include $(PIDGIN_COMMON_TARGETS)
123 $(MAKE) -C $(SILC) -f Makefile.mingw clean
124 $(MAKE) -C $(SIMPLE) -f Makefile.mingw clean
125 $(MAKE) -C $(SAMETIME) -f Makefile.mingw clean
126 $(MAKE) -C $(GAIM_SRC) -f Makefile.mingw clean
127 $(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw clean
128 rm -rf config.h $(GAIM_INSTALL_DIR)
129 rm -rf gaim*.exe