Mercurial > pidgin.yaz
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gtk/Makefile.mingw Sun Aug 20 16:49:37 2006 +0000 @@ -0,0 +1,229 @@ +# +# Makefile.mingw +# +# Description: Makefile for win32 (mingw) version of Gaim +# + +# +# PATHS +# + +GTK_TOP := ../../win32-dev/gtk_2_0 +GAIM_TOP := .. +GTKGAIM_TOP := . +LIBGAIM_TOP := ../libgaim +ASPELL_TOP := ../../win32-dev/aspell-dev-0-50-3-3 +GTKSPELL_TOP := ../../win32-dev/gtkspell-2.0.6 +IDLETRACK_TOP := $(GTKGAIM_TOP)/win32/IdleTracker +GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir +#LIBXML2_DIR := ../../win32-dev/libxml2 + +## +## VARIABLE DEFINITIONS +## + +EXE_TARGET = gaim + +GTKGAIM_TARGET = gtkgaim + +# Compiler and Linker Options + +CFLAGS = + +DEFINES = + +ifeq ($(MAKECMDGOALS), $(EXE_TARGET)-portable.exe) +DEFINES := $(DEFINES) -DPORTABLE +endif + +WINAPP := -mwindows +# The Debug version of gaim is a console app, always having a console +CONSOLEAPP := -mconsole + +LDFLAGS := $(WINAPP) + +WINDRES := windres + +## +## INCLUDE MAKEFILES +## + +include $(LIBGAIM_TOP)/win32/global.mak + +## +## INCLUDE PATHS +## + +LIBGAIM_INCLUDE_PATHS = \ + -I$(LIBGAIM_TOP) \ + -I$(LIBGAIM_TOP)/win32 \ + -I$(GAIM_TOP) \ + -I$(GTK_TOP)/include \ + -I$(GTK_TOP)/include/glib-2.0 \ + -I$(GTK_TOP)/lib/glib-2.0/include + +# -I$(LIBXML2_DIR)/include + +INCLUDE_PATHS = \ + $(LIBGAIM_INCLUDE_PATHS) \ + -I$(IDLETRACK_TOP) \ + -I$(GTKGAIM_TOP) \ + -I$(GTKGAIM_TOP)/win32 \ + -I$(GTK_TOP)/include/gtk-2.0 \ + -I$(GTK_TOP)/include/pango-1.0 \ + -I$(GTK_TOP)/include/atk-1.0 \ + -I$(GTK_TOP)/lib/gtk-2.0/include \ + -I$(GTKSPELL_TOP) \ + -I$(ASPELL_TOP)/include + + + +LIB_PATHS = -L$(GTK_TOP)/lib \ + -L$(LIBGAIM_TOP) \ + -L$(GTKGAIM_TOP) \ + -L$(IDLETRACK_TOP) \ + -L$(ASPELL_TOP)/lib + +# -L$(LIBXML2_DIR)/lib + +## +## SOURCES, OBJECTS +## + +GTKGAIM_C_SRC = \ + gaimstock.c \ + gtkaccount.c \ + gtkblist.c \ + gtkconn.c \ + gtkconv.c \ + gtkcellrendererprogress.c \ + gtkdebug.c \ + gtkdialogs.c \ + gtkdnd-hints.c \ + gtkeventloop.c \ + gtkexpander.c \ + gtkft.c \ + gtkidle.c \ + gtkimhtml.c \ + gtkimhtmltoolbar.c \ + gtklog.c \ + gtkmain.c \ + gtkmenutray.c \ + gtknotify.c \ + gtkplugin.c \ + gtkpluginpref.c \ + gtkpounce.c \ + gtkprefs.c \ + gtkprivacy.c \ + gtkrequest.c \ + gtkroomlist.c \ + gtksavedstatuses.c \ + gtksound.c \ + gtksourceiter.c \ + gtkstatusbox.c \ + gtkthemes.c \ + gtkutils.c \ + gtkwhiteboard.c \ + win32/gtkwin32dep.c \ + win32/untar.c \ + win32/wspell.c + +RC_SRC = win32/gaimrc.rc + +EXE_C_SRC = win32/win_gaim.c + +GTKGAIM_OBJECTS = $(GTKGAIM_C_SRC:%.c=%.o) + +EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) + +## +## LIBRARIES +## + +LIBGAIM_LIBS = \ + -lgaim \ + -lglib-2.0 \ + -lgthread-2.0 \ + -lgobject-2.0 \ + -lgmodule-2.0 \ + -lintl \ + -lws2_32 \ + -lwinmm \ + -lz \ + -liberty \ + -lidletrack + +# -lxml2 + +GTKGAIM_LIBS = \ + $(LIBGAIM_LIBS) \ + -lgtk-win32-2.0 \ + -latk-1.0 \ + -lpango-1.0 \ + -lgdk-win32-2.0 \ + -lgdk_pixbuf-2.0 + +EXE_LIBS = + +## +## RULES +## + +# How to make a C file +%.o: %.c + $(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@ + +# How to make an RC file +%.o: %.rc + $(WINDRES) -i $< -o $@ + +## +## TARGET DEFINITIONS +## + +.PHONY: all clean libgaim_include_path gtkgaim_include_path + +all: $(EXE_TARGET).exe $(GTKGAIM_TARGET).dll + +install: all + cp $(GTKGAIM_TOP)/$(EXE_TARGET).exe $(GTKGAIM_TOP)/$(GTKGAIM_TARGET).dll $(GAIM_INSTALL_DIR) + +$(LIBGAIM_TOP)/libgaim.dll.a: + S(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a + +$(IDLETRACK_TOP)/idletrack.dll: + $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw + +# +# BUILD DLL +# +#$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: INCLUDE_PATHS = $(GTKGAIM_INCLUDE_PATHS) +#Once the UI split has finished for server.c, this will be the correct line +#$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TARGET).dll.a $(GTKGAIM_OBJECTS) +$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TOP)/libgaim.dll.a $(GTKGAIM_OBJECTS) $(IDLETRACK_TOP)/idletrack.dll + $(CC) -shared $(LIBGAIM_OBJECTS) $(GTKGAIM_OBJECTS) $(LIB_PATHS) $(GTKGAIM_LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(GTKGAIM_TARGET).dll.a -o $(GTKGAIM_TARGET).dll + +# +# BUILD EXE +# + +$(EXE_TARGET).exe: $(GTKGAIM_TARGET).dll $(EXE_OBJECTS) + $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(EXE_TARGET).exe + +$(EXE_TARGET)-portable.exe: clean_exe $(EXE_OBJECTS) + $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(EXE_TARGET)-portable.exe + rm win_gaim.o + +## +## CLEAN RULES +## + +clean: + $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw clean + rm -rf *.o ./win32/*.o + rm -rf $(GTKGAIM_TARGET).dll + rm -rf $(GTKGAIM_TARGET).dll.a + rm -rf $(EXE_TARGET).exe + +clean_exe: + rm -rf win_gaim.o