Makefile.mingw

Wed, 05 Sep 2007 22:32:14 +0000

author
Andreas Monitzer <am@adiumx.com>
date
Wed, 05 Sep 2007 22:32:14 +0000
branch
soc.2007.xmpp
changeset 19895
158490a51f8b
parent 19668
2071903c58e4
child 20253
7e389b201776
permissions
-rw-r--r--

propagate from branch 'im.pidgin.pidgin' (head 0853a065e5c3fcb5a6bb13fc23bec44ecf510ecd)
to branch 'im.pidgin.soc.2007.xmpp' (head b273d0db2bdd4a80d0fb22d32fe186e1f496933f)

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 \
19668
2071903c58e4 Fix the win32 build for the cert SoC branch merge.
Daniel Atallah <datallah@pidgin.im>
parents: 19333
diff changeset
54 smime3.dll \
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
55 ssl3.dll
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
56
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
57 #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
58 EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS))
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
59
18667
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
60 .PHONY: all docs 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
61
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
62 all: $(PIDGIN_CONFIG_H)
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
63 $(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
64 $(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
65 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE)
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
66
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
67 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
68 $(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
69 $(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
70 $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) install
19333
82b99eb98056 Fix sounds on the win32 build
Daniel Atallah <datallah@pidgin.im>
parents: 18667
diff changeset
71 $(MAKE) -C share -f $(MINGW_MAKEFILE) install
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
72
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
73 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
74 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
75 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
76 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
77 -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) -exec $(STRIP) --strip-unneeded {} ';'
5384
b187b49ff651 [gaim-migrate @ 5760]
Herman Bloggs <herman@bluedigits.com>
parents: 4897
diff changeset
78
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
79 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
80 $(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
81 mv pidgin/win32/nsis/pidgin*.exe ./
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
82
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
83 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
84 $(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
85 mv pidgin/win32/nsis/pidgin*.exe ./
3630
caa952062dc2 [gaim-migrate @ 3753]
Rob Flynn <gaim@robflynn.com>
parents:
diff changeset
86
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14303
diff changeset
87 installer_debug: install
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
88 $(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
89 mv pidgin/win32/nsis/pidgin*.exe ./
5931
6bd53176fdcf [gaim-migrate @ 6371]
Herman Bloggs <herman@bluedigits.com>
parents: 5387
diff changeset
90
15144
d936faa32f0e [gaim-migrate @ 17868]
Daniel Atallah <datallah@pidgin.im>
parents: 14761
diff changeset
91 installers: installer installer_nogtk installer_debug
5384
b187b49ff651 [gaim-migrate @ 5760]
Herman Bloggs <herman@bluedigits.com>
parents: 4897
diff changeset
92
18667
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
93 Doxyfile.mingw: Doxyfile.in
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
94 sed -e "s/@PACKAGE@/pidgin/" -e "s/@VERSION@/$(PIDGIN_VERSION)/" -e "s/@top_srcdir@/$(PIDGIN_TREE_TOP)/g" -e "s/@enable_dot@/NO/" Doxyfile.in > Doxyfile.mingw
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
95
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
96 docs: Doxyfile.mingw
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
97 @echo "Running doxygen..."
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
98 @doxygen Doxyfile.mingw
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
99
14377
c0440e16bacd [gaim-migrate @ 17008]
Daniel Atallah <datallah@pidgin.im>
parents: 14303
diff changeset
100 clean:
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
101 $(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
102 $(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
103 $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) clean
16761
b7f4c04e88a4 Remove generated files in the 'clean' target.
Daniel Atallah <datallah@pidgin.im>
parents: 16100
diff changeset
104 rm -f $(PIDGIN_CONFIG_H) ./VERSION pidgin*.exe
18667
ebbd675130b3 Patch from Jason Conti to enable `make -f Makefile.mingw docs` on the windows build. Fixes #1801.
Daniel Atallah <datallah@pidgin.im>
parents: 16761
diff changeset
105 rm -rf doc/html Doxyfile.mingw
14761
d90178571681 [gaim-migrate @ 17451]
Daniel Atallah <datallah@pidgin.im>
parents: 14638
diff changeset
106
d90178571681 [gaim-migrate @ 17451]
Daniel Atallah <datallah@pidgin.im>
parents: 14638
diff changeset
107 uninstall:
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
108 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
109
16100
a0ab70986c10 This should get all the Win32 Makefiles in line with
Kevin Stange <kstange@pidgin.im>
parents: 15805
diff changeset
110 include $(PIDGIN_COMMON_TARGETS)

mercurial