annotate libgaim/win32/global.mak @ 14315:8793fc8f7064

[gaim-migrate @ 17008] Lee Roach revamped the win32 makefiles. This makes me happy, they were in dire need of some loving. This makes life a great deal easier for anyone who wants to build out-of-tree plugins. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Wed, 23 Aug 2006 21:34:43 +0000
parents ab8a105eff62
children e88aae4f4c40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
1 #
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
2 # global.mak
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
3 #
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
4 # This file should be included by all Makefile.mingw files for project
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
5 # wide definitions (after correctly defining GAIM_TOP).
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
6 #
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
7
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
8 # Locations of our various dependencies
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
9 WIN32_DEV_TOP := $(GAIM_TOP)/../win32-dev
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
10 ASPELL_TOP := $(WIN32_DEV_TOP)/aspell-dev-0-50-3-3
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
11 GTKSPELL_TOP := $(WIN32_DEV_TOP)/gtkspell-2.0.6
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
12 GTK_TOP := $(WIN32_DEV_TOP)/gtk_2_0
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
13 GTK_BIN := $(GTK_TOP)/bin
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
14 HOWL_TOP := $(WIN32_DEV_TOP)/howl-1.0.0
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
15 LIBXML2_TOP := $(WIN32_DEV_TOP)/libxml2
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
16 MEANWHILE_TOP := $(WIN32_DEV_TOP)/meanwhile-1.0.2
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
17 NSPR_TOP := $(WIN32_DEV_TOP)/nspr-4.4.1
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
18 NSS_TOP := $(WIN32_DEV_TOP)/nss-3.9
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
19 PERL_LIB_TOP := $(WIN32_DEV_TOP)/perl58
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
20 SILC_TOOLKIT := $(WIN32_DEV_TOP)/silc-toolkit-1.0.2
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
21 TCL_LIB_TOP := $(WIN32_DEV_TOP)/tcl-8.4.5
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
22
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
23 # Where we installing this stuff to?
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
24 GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
25 GAIM_INSTALL_PERLMOD_DIR := $(GAIM_INSTALL_DIR)/perlmod
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
26 GAIM_INSTALL_PIXMAPS_DIR := $(GAIM_INSTALL_DIR)/pixmaps
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
27 GAIM_INSTALL_PLUGINS_DIR := $(GAIM_INSTALL_DIR)/plugins
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
28 GAIM_INSTALL_PO_DIR := $(GAIM_INSTALL_DIR)/locale
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
29 GAIM_INSTALL_SOUNDS_DIR := $(GAIM_INSTALL_DIR)/sounds
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
30
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
31 # Important (enough) locations in our source code
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
32 GAIM_LIB_TOP := $(GAIM_TOP)/libgaim
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
33 GAIM_LIB_PLUGINS_TOP := $(GAIM_LIB_TOP)/plugins
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
34 GAIM_GTK_TOP := $(GAIM_TOP)/gtk
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
35 GAIM_GTK_IDLETRACK_TOP := $(GAIM_GTK_TOP)/win32/IdleTracker
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
36 GAIM_GTK_PIXMAPS_TOP := $(GAIM_GTK_TOP)/pixmaps
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
37 GAIM_GTK_PLUGINS_TOP := $(GAIM_GTK_TOP)/plugins
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
38 GAIM_GTK_SOUNDS_TOP := $(GAIM_GTK_TOP)/sounds
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
39 GAIM_PO_TOP := $(GAIM_TOP)/po
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
40 GAIM_PROTOS_TOP := $(GAIM_LIB_TOP)/protocols
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
41
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
42 # Locations of important (in-tree) build targets
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
43 GAIM_CONFIG_H := $(GAIM_TOP)/config.h
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
44 GAIM_IDLETRACK_DLL := $(GAIM_GTK_IDLETRACK_TOP)/idletrack.dll
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
45 GAIM_LIBGAIM_DLL := $(GAIM_LIB_TOP)/libgaim.dll
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
46 GAIM_GTKGAIM_DLL := $(GAIM_GTK_TOP)/gtkgaim.dll
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
47 GAIM_EXE := $(GAIM_GTK_TOP)/gaim.exe
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
48 GAIM_PORTABLE_EXE := $(GAIM_GTK_TOP)/gaim-portable.exe
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
49
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
50 GCCWARNINGS := -Waggregate-return -Wcast-align -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wextra -Wno-sign-compare -Wno-unused-parameter -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
51 GAIM_VERSION := $(shell cat $(GAIM_TOP)/VERSION)
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
52 DEFINES += -DVERSION=\"$(GAIM_VERSION)\" \
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
53 -DHAVE_CONFIG_H
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
54
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
55 # Use -g flag when building debug version of Gaim (including plugins).
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
56 # Use -fnative-struct instead of -mms-bitfields when using mingw 1.1
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
57 # (gcc 2.95)
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
58 CFLAGS += -O2 -Wall $(GCCWARNINGS) -pipe -mno-cygwin -mms-bitfields -g
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
59
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
60 # If not specified, dlls are built with the default base address of 0x10000000.
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
61 # When loaded into a process address space a dll will be rebased if its base
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
62 # address colides with the base address of an existing dll. To avoid rebasing
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
63 # we do the following. Rebasing can slow down the load time of dlls and it
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
64 # also renders debug info useless.
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
65 DLL_LD_FLAGS += -Wl,--enable-auto-image-base
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
66
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
67 # Build programs
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
68 CC := gcc.exe
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
69 GMSGFMT := $(GTK_BIN)/msgfmt
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
70 MAKENSIS := makensis.exe
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
71 PERL := /cygdrive/c/perl/bin/perl
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
72 WINDRES := windres
14224
ab8a105eff62 [gaim-migrate @ 16905]
Daniel Atallah <daniel.atallah@gmail.com>
parents:
diff changeset
73
14315
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
74 GAIM_COMMON_RULES := $(GAIM_LIB_TOP)/win32/rules.mak
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
75 GAIM_COMMON_TARGETS := $(GAIM_LIB_TOP)/win32/targets.mak
8793fc8f7064 [gaim-migrate @ 17008]
Daniel Atallah <daniel.atallah@gmail.com>
parents: 14224
diff changeset
76 GAIM_WIN32_MAKEFILE := Makefile.mingw