Mercurial > pidgin
diff gtk/Makefile.mingw @ 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 | c54ea2572de9 |
children | d29fc3b5d402 |
line wrap: on
line diff
--- a/gtk/Makefile.mingw Wed Aug 23 18:50:46 2006 +0000 +++ b/gtk/Makefile.mingw Wed Aug 23 21:34:43 2006 +0000 @@ -4,46 +4,17 @@ # Description: Makefile for win32 (mingw) version of Gaim # -# -# PATHS -# +GAIM_TOP := .. +include $(GAIM_TOP)/libgaim/win32/global.mak -GTK_TOP := ../../win32-dev/gtk_2_0 -GAIM_TOP := .. -GTKGAIM_TOP := . -LIBGAIM_TOP := $(GAIM_TOP)/libgaim -PLUGINS_TOP := $(GTKGAIM_TOP)/plugins -PIXMAPS_TOP := $(GTKGAIM_TOP)/pixmaps -SOUNDS_TOP := $(GTKGAIM_TOP)/sounds -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 - -NEEDED_DLLS = $(GTKSPELL_TOP)/gtkspell/libgtkspell.dll \ - $(IDLETRACK_TOP)/idletrack.dll - -SOUNDS = $(SOUNDS_TOP)/alert.wav \ - $(SOUNDS_TOP)/login.wav \ - $(SOUNDS_TOP)/logout.wav \ - $(SOUNDS_TOP)/receive.wav \ - $(SOUNDS_TOP)/send.wav +NEEDED_DLLS = $(GTKSPELL_TOP)/gtkspell/libgtkspell.dll ## ## VARIABLE DEFINITIONS ## - EXE_TARGET = gaim - GTKGAIM_TARGET = gtkgaim -# Compiler and Linker Options - -CFLAGS = - -DEFINES = - ifeq ($(MAKECMDGOALS), $(EXE_TARGET)-portable.exe) DEFINES := $(DEFINES) -DPORTABLE endif @@ -54,33 +25,22 @@ 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_LIB_TOP) \ + -I$(GAIM_LIB_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$(GAIM_GTK_IDLETRACK_TOP) \ + -I$(GAIM_GTK_TOP) \ + -I$(GAIM_GTK_TOP)/win32 \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ @@ -88,20 +48,15 @@ -I$(GTKSPELL_TOP) \ -I$(ASPELL_TOP)/include - - LIB_PATHS = -L$(GTK_TOP)/lib \ - -L$(LIBGAIM_TOP) \ - -L$(GTKGAIM_TOP) \ - -L$(IDLETRACK_TOP) \ + -L$(GAIM_LIB_TOP) \ + -L$(GAIM_GTK_TOP) \ + -L$(GAIM_GTK_IDLETRACK_TOP) \ -L$(ASPELL_TOP)/lib -# -L$(LIBXML2_DIR)/lib - ## ## SOURCES, OBJECTS ## - GTKGAIM_C_SRC = \ gaimstock.c \ gtkaccount.c \ @@ -140,18 +95,14 @@ win32/untar.c \ win32/wspell.c -RC_SRC = win32/gaimrc.rc - -EXE_C_SRC = win32/win_gaim.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 \ @@ -165,8 +116,6 @@ -liberty \ -lidletrack -# -lxml2 - GTKGAIM_LIBS = \ $(LIBGAIM_LIBS) \ -lgtk-win32-2.0 \ @@ -175,70 +124,49 @@ -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 $@ +include $(GAIM_COMMON_RULES) ## ## TARGET DEFINITIONS ## - .PHONY: all clean all: $(EXE_TARGET).exe $(GTKGAIM_TARGET).dll - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw - -install: all - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw install - $(MAKE) -C $(PIXMAPS_TOP) -f Makefile.mingw install - cp $(GTKGAIM_TOP)/$(EXE_TARGET).exe $(GTKGAIM_TOP)/$(GTKGAIM_TARGET).dll $(GAIM_INSTALL_DIR) - cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) - cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim + $(MAKE) -C $(GAIM_GTK_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) -$(LIBGAIM_TOP)/libgaim.dll.a: - S(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a +install: all $(GAIM_INSTALL_DIR) + $(MAKE) -C $(GAIM_GTK_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_GTK_PIXMAPS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_GTK_SOUNDS_TOP) -f $(GAIM_WIN32_MAKEFILE) install + $(MAKE) -C $(GAIM_GTK_IDLETRACK_TOP) -f $(GAIM_WIN32_MAKEFILE) install + cp $(EXE_TARGET).exe $(GTKGAIM_TARGET).dll $(GAIM_INSTALL_DIR) + cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) -$(IDLETRACK_TOP)/idletrack.dll: - $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw +$(GTKGAIM_OBJECTS): $(GAIM_CONFIG_H) -# -# BUILD DLL -# -$(GTKGAIM_TARGET).dll.a $(GTKGAIM_TARGET).dll: $(LIBGAIM_TOP)/libgaim.dll.a $(GTKGAIM_OBJECTS) $(IDLETRACK_TOP)/idletrack.dll +$(GTKGAIM_TARGET).dll $(GTKGAIM_TARGET).dll.a: $(GAIM_LIBGAIM_DLL).a $(GAIM_IDLETRACK_DLL).a $(GTKGAIM_OBJECTS) $(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) +$(EXE_TARGET).exe: $(GAIM_CONFIG_H) $(GAIM_GTKGAIM_DLL).a $(GAIM_IDLETRACK_DLL).a $(EXE_OBJECTS) $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(EXE_TARGET).exe -$(EXE_TARGET)-portable.exe: clean_exe $(EXE_OBJECTS) +$(EXE_TARGET)-portable.exe: clean_exe $(GAIM_CONFIG_H) $(GAIM_GTKGAIM_DLL).a $(GAIM_IDLETRACK_DLL).a $(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 - $(MAKE) -C $(PLUGINS_TOP) -f Makefile.mingw clean + $(MAKE) -C $(GAIM_GTK_IDLETRACK_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + $(MAKE) -C $(GAIM_GTK_PLUGINS_TOP) -f $(GAIM_WIN32_MAKEFILE) clean + rm -rf $(GTKGAIM_OBJECTS) $(EXE_OBJECTS) + rm $(GTKGAIM_TARGET).dll + rm $(GTKGAIM_TARGET).dll.a + rm $(EXE_TARGET).exe + rm $(EXE_TARGET)-portable.exe clean_exe: - rm -rf win_gaim.o + rm win_gaim.o + +include $(GAIM_COMMON_TARGETS)