Makefile.mingw

Sun, 15 Apr 2007 23:06:52 +0000

author
Richard Laager <rlaager@pidgin.im>
date
Sun, 15 Apr 2007 23:06:52 +0000
changeset 16235
ba05596c81b3
parent 16100
a0ab70986c10
child 16761
b7f4c04e88a4
permissions
-rw-r--r--

Let's just have HACKING point to Trac, okay?

3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
1 # Makefile.mingw
8615
7db99c77c41e [gaim-migrate @ 9366]
Luke Schierer <lschiere@pidgin.im>
parents: 7056
diff changeset
2 #
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
3 # Author: hermanator12002@yahoo.com
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
4 # Date 9/11/02
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
5 # Description: Top Makefile for win32 (mingw) port of Pidgin and LibPurple
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
6 #
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
7
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
8 PIDGIN_TREE_TOP := .
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
9 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
10804
e51729c86312 [gaim-migrate @ 12452]
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 10201
diff changeset
10
14516
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
11 # Generate a X.X.X.X version for the installer file versioning header
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
12 # The last digit will be 99 for a final release, 0 for dev or unknown, or the beta number
15805
a80eb333bae9 Updates to the win32 installer. It isn't complete yet, but this a good saving point.
Daniel Atallah <datallah@pidgin.im>
parents: 15643
diff changeset
13 PIDGIN_PRODUCT_VERSION = $(shell \
14516
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
14 awk 'BEGIN {FS="."} { \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
15 if (int($$3) == $$3) { \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
16 $$4 = "99"; \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
17 } else { \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
18 $$5 = $$3; \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
19 sub(int($$3), "", $$5); \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
20 if ($$5 == "dev") { \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
21 $$4 = "0"; \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
22 } else { \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
23 if (sub("beta", "", $$5) > 0) { \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
24 $$4 = $$5; \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
25 } else { \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
26 $$4 = "0"; \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
27 } \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
28 } \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
29 } \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
30 printf("%s.%s.%s.%s", $$1, $$2, int($$3), $$4); \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
31 exit; \
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
32 }' VERSION)
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
33
15425
c0961da59074 [gaim-migrate @ 18156]
Daniel Atallah <datallah@pidgin.im>
parents: 15144
diff changeset
34 GTK_INSTALL_VERSION = $(shell \
c0961da59074 [gaim-migrate @ 18156]
Daniel Atallah <datallah@pidgin.im>
parents: 15144
diff changeset
35 source ../gtk_installer/version.sh; \
c0961da59074 [gaim-migrate @ 18156]
Daniel Atallah <datallah@pidgin.im>
parents: 15144
diff changeset
36 echo $$gtk_version \
c0961da59074 [gaim-migrate @ 18156]
Daniel Atallah <datallah@pidgin.im>
parents: 15144
diff changeset
37 )
c0961da59074 [gaim-migrate @ 18156]
Daniel Atallah <datallah@pidgin.im>
parents: 15144
diff changeset
38
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
39 # Any *.dll or *.exe files included in win32-install-dir that we don't compile
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
40 # should be included in this list so they don't get stripped
15805
a80eb333bae9 Updates to the win32 installer. It isn't complete yet, but this a good saving point.
Daniel Atallah <datallah@pidgin.im>
parents: 15643
diff changeset
41 EXTERNAL_DLLS = \
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
42 freebl3.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
43 libgtkspell.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
44 libmeanwhile-1.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
45 libxml2.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
46 nspr4.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
47 nss3.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
48 nssckbi.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
49 plc4.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
50 plds4.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
51 silc.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
52 silcclient.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
53 softokn3.dll \
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
54 ssl3.dll
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
55
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
56 #build an expression for `find` to use to ignore the above files
15805
a80eb333bae9 Updates to the win32 installer. It isn't complete yet, but this a good saving point.
Daniel Atallah <datallah@pidgin.im>
parents: 15643
diff changeset
57 EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS))
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
58
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
59 .PHONY: all install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir
14516
fa15efbfe388 [gaim-migrate @ 17168]
Daniel Atallah <datallah@pidgin.im>
parents: 14377
diff changeset
60
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
61 all: $(PIDGIN_CONFIG_H)
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
62 $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE)
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
63 $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE)
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
64 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE)
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
65
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
66 install: all $(PIDGIN_INSTALL_DIR)
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
67 $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) install
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
68 $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) install
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
69 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) install
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
70
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
71 create_release_install_dir: install
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
72 rm -rf $(PIDGIN_INSTALL_DIR).release
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
73 cp -R $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
74 find $(PIDGIN_INSTALL_DIR).release \( -name '*.dll' -o -name '*.exe' \) \
15805
a80eb333bae9 Updates to the win32 installer. It isn't complete yet, but this a good saving point.
Daniel Atallah <datallah@pidgin.im>
parents: 15643
diff changeset
75 -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) -exec $(STRIP) --strip-unneeded {} ';'
5384
b187b49ff651 [gaim-migrate @ 5760]
Herman Bloggs <herman@bluedigits.com>
parents: 4897
diff changeset
76
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
77 installer: create_release_install_dir
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
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
15805
a80eb333bae9 Updates to the win32 installer. It isn't complete yet, but this a good saving point.
Daniel Atallah <datallah@pidgin.im>
parents: 15643
diff changeset
79 mv pidgin/win32/nsis/pidgin*.exe ./
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
80
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
81 installer_nogtk: create_release_install_dir
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
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
15805
a80eb333bae9 Updates to the win32 installer. It isn't complete yet, but this a good saving point.
Daniel Atallah <datallah@pidgin.im>
parents: 15643
diff changeset
83 mv pidgin/win32/nsis/pidgin*.exe ./
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
84
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14303
diff changeset
85 installer_debug: install
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
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
15805
a80eb333bae9 Updates to the win32 installer. It isn't complete yet, but this a good saving point.
Daniel Atallah <datallah@pidgin.im>
parents: 15643
diff changeset
87 mv pidgin/win32/nsis/pidgin*.exe ./
5931
6bd53176fdcf [gaim-migrate @ 6371]
Herman Bloggs <herman@bluedigits.com>
parents: 5387
diff changeset
88
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
89 installers: installer installer_nogtk installer_debug
5384
b187b49ff651 [gaim-migrate @ 5760]
Herman Bloggs <herman@bluedigits.com>
parents: 4897
diff changeset
90
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14303
diff changeset
91 clean:
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
92 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) clean
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
93 $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) clean
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
94 $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) clean
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
95 rm -f $(PIDGIN_CONFIG_H) VERSION pidgin*.exe
14761
d90178571681 [gaim-migrate @ 17451]
Daniel Atallah <datallah@pidgin.im>
parents: 14638
diff changeset
96
d90178571681 [gaim-migrate @ 17451]
Daniel Atallah <datallah@pidgin.im>
parents: 14638
diff changeset
97 uninstall:
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
98 rm -rf $(PURPLE_INSTALL_PERLMOD_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_PO_DIR) $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release
5931
6bd53176fdcf [gaim-migrate @ 6371]
Herman Bloggs <herman@bluedigits.com>
parents: 5387
diff changeset
99
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
100 include $(PIDGIN_COMMON_TARGETS)

mercurial