comparison gtk/Makefile.mingw @ 14224:ab8a105eff62

[gaim-migrate @ 16905] First step of getting wingaim working again. libgaim and gtk are compiling. The protocols aren't compiling yet. There are a number of things that are compiling, but should be cleaned up. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Sun, 20 Aug 2006 16:49:37 +0000
parents
children c54ea2572de9
comparison
equal deleted inserted replaced
14223:7c560c01b8f9 14224:ab8a105eff62
1 #
2 # Makefile.mingw
3 #
4 # Description: Makefile for win32 (mingw) version of Gaim
5 #
6
7 #
8 # PATHS
9 #
10
11 GTK_TOP := ../../win32-dev/gtk_2_0
12 GAIM_TOP := ..
13 GTKGAIM_TOP := .
14 LIBGAIM_TOP := ../libgaim
15 ASPELL_TOP := ../../win32-dev/aspell-dev-0-50-3-3
16 GTKSPELL_TOP := ../../win32-dev/gtkspell-2.0.6
17 IDLETRACK_TOP := $(GTKGAIM_TOP)/win32/IdleTracker
18 GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir
19 #LIBXML2_DIR := ../../win32-dev/libxml2
20
21 ##
22 ## VARIABLE DEFINITIONS
23 ##
24
25 EXE_TARGET = gaim
26
27 GTKGAIM_TARGET = gtkgaim
28
29 # Compiler and Linker Options
30
31 CFLAGS =
32
33 DEFINES =
34
35 ifeq ($(MAKECMDGOALS), $(EXE_TARGET)-portable.exe)
36 DEFINES := $(DEFINES) -DPORTABLE
37 endif
38
39 WINAPP := -mwindows
40 # The Debug version of gaim is a console app, always having a console
41 CONSOLEAPP := -mconsole
42
43 LDFLAGS := $(WINAPP)
44
45 WINDRES := windres
46
47 ##
48 ## INCLUDE MAKEFILES
49 ##
50
51 include $(LIBGAIM_TOP)/win32/global.mak
52
53 ##
54 ## INCLUDE PATHS
55 ##
56
57 LIBGAIM_INCLUDE_PATHS = \
58 -I$(LIBGAIM_TOP) \
59 -I$(LIBGAIM_TOP)/win32 \
60 -I$(GAIM_TOP) \
61 -I$(GTK_TOP)/include \
62 -I$(GTK_TOP)/include/glib-2.0 \
63 -I$(GTK_TOP)/lib/glib-2.0/include
64
65 # -I$(LIBXML2_DIR)/include
66
67 INCLUDE_PATHS = \
68 $(LIBGAIM_INCLUDE_PATHS) \
69 -I$(IDLETRACK_TOP) \
70 -I$(GTKGAIM_TOP) \
71 -I$(GTKGAIM_TOP)/win32 \
72 -I$(GTK_TOP)/include/gtk-2.0 \
73 -I$(GTK_TOP)/include/pango-1.0 \
74 -I$(GTK_TOP)/include/atk-1.0 \
75 -I$(GTK_TOP)/lib/gtk-2.0/include \
76 -I$(GTKSPELL_TOP) \
77 -I$(ASPELL_TOP)/include
78
79
80
81 LIB_PATHS = -L$(GTK_TOP)/lib \
82 -L$(LIBGAIM_TOP) \
83 -L$(GTKGAIM_TOP) \
84 -L$(IDLETRACK_TOP) \
85 -L$(ASPELL_TOP)/lib
86
87 # -L$(LIBXML2_DIR)/lib
88
89 ##
90 ## SOURCES, OBJECTS
91 ##
92
93 GTKGAIM_C_SRC = \
94 gaimstock.c \
95 gtkaccount.c \
96 gtkblist.c \
97 gtkconn.c \
98 gtkconv.c \
99 gtkcellrendererprogress.c \
100 gtkdebug.c \
101 gtkdialogs.c \
102 gtkdnd-hints.c \
103 gtkeventloop.c \
104 gtkexpander.c \
105 gtkft.c \
106 gtkidle.c \
107 gtkimhtml.c \
108 gtkimhtmltoolbar.c \
109 gtklog.c \
110 gtkmain.c \
111 gtkmenutray.c \
112 gtknotify.c \
113 gtkplugin.c \
114 gtkpluginpref.c \
115 gtkpounce.c \
116 gtkprefs.c \
117 gtkprivacy.c \
118 gtkrequest.c \
119 gtkroomlist.c \
120 gtksavedstatuses.c \
121 gtksound.c \
122 gtksourceiter.c \
123 gtkstatusbox.c \
124 gtkthemes.c \
125 gtkutils.c \
126 gtkwhiteboard.c \
127 win32/gtkwin32dep.c \
128 win32/untar.c \
129 win32/wspell.c
130
131 RC_SRC = win32/gaimrc.rc
132
133 EXE_C_SRC = win32/win_gaim.c
134
135 GTKGAIM_OBJECTS = $(GTKGAIM_C_SRC:%.c=%.o)
136
137 EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o)
138
139 ##
140 ## LIBRARIES
141 ##
142
143 LIBGAIM_LIBS = \
144 -lgaim \
145 -lglib-2.0 \
146 -lgthread-2.0 \
147 -lgobject-2.0 \
148 -lgmodule-2.0 \
149 -lintl \
150 -lws2_32 \
151 -lwinmm \
152 -lz \
153 -liberty \
154 -lidletrack
155
156 # -lxml2
157
158 GTKGAIM_LIBS = \
159 $(LIBGAIM_LIBS) \
160 -lgtk-win32-2.0 \
161 -latk-1.0 \
162 -lpango-1.0 \
163 -lgdk-win32-2.0 \
164 -lgdk_pixbuf-2.0
165
166 EXE_LIBS =
167
168 ##
169 ## RULES
170 ##
171
172 # How to make a C file
173 %.o: %.c
174 $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@
175
176 # How to make an RC file
177 %.o: %.rc
178 $(WINDRES) -i $< -o $@
179
180 ##
181 ## TARGET DEFINITIONS
182 ##
183
184 .PHONY: all clean libgaim_include_path gtkgaim_include_path
185
186 all: $(EXE_TARGET).exe $(GTKGAIM_TARGET).dll
187
188 install: all
189 cp $(GTKGAIM_TOP)/$(EXE_TARGET).exe $(GTKGAIM_TOP)/$(GTKGAIM_TARGET).dll $(GAIM_INSTALL_DIR)
190
191 $(LIBGAIM_TOP)/libgaim.dll.a:
192 S(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a
193
194 $(IDLETRACK_TOP)/idletrack.dll:
195 $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw
196
197 #
198 # BUILD DLL
199 #
200 #$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: INCLUDE_PATHS = $(GTKGAIM_INCLUDE_PATHS)
201 #Once the UI split has finished for server.c, this will be the correct line
202 #$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TARGET).dll.a $(GTKGAIM_OBJECTS)
203 $(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TOP)/libgaim.dll.a $(GTKGAIM_OBJECTS) $(IDLETRACK_TOP)/idletrack.dll
204 $(CC) -shared $(LIBGAIM_OBJECTS) $(GTKGAIM_OBJECTS) $(LIB_PATHS) $(GTKGAIM_LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(GTKGAIM_TARGET).dll.a -o $(GTKGAIM_TARGET).dll
205
206 #
207 # BUILD EXE
208 #
209
210 $(EXE_TARGET).exe: $(GTKGAIM_TARGET).dll $(EXE_OBJECTS)
211 $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(EXE_TARGET).exe
212
213 $(EXE_TARGET)-portable.exe: clean_exe $(EXE_OBJECTS)
214 $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(EXE_TARGET)-portable.exe
215 rm win_gaim.o
216
217 ##
218 ## CLEAN RULES
219 ##
220
221 clean:
222 $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw clean
223 rm -rf *.o ./win32/*.o
224 rm -rf $(GTKGAIM_TARGET).dll
225 rm -rf $(GTKGAIM_TARGET).dll.a
226 rm -rf $(EXE_TARGET).exe
227
228 clean_exe:
229 rm -rf win_gaim.o