# # Makefile.mingw # # Description: Makefile for win32 (mingw) version of Gaim # # # PATHS # INCLUDE_DIR := . GTK_TOP := ../../win32-dev/gtk_2_0 GAIM_TOP := .. GAIM_SRC := . ASPELL_TOP := ../../win32-dev/aspell-dev-0-50-3-3 GTKSPELL_TOP := ../../win32-dev/gtkspell-2.0.6 IDLETRACK_TOP := $(GAIM_TOP)/src/win32/IdleTracker GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir MINGW_PLUS_DIR := $(GAIM_SRC)/win32/mingw_plus NSS_DIR := ../../win32-dev/nss-3.9 NSPR_DIR := ../../win32-dev/nspr-4.4.1 ## ## VARIABLE DEFINITIONS ## TARGET = gaim # Compiler and Linker Options CFLAGS = DEFINES = LDFLAGS = -mwindows #-mconsole #-mwindows ## ## INCLUDE MAKEFILES ## include $(GAIM_TOP)/src/win32/global.mak ## ## INCLUDE PATHS ## INCLUDE_PATHS = -I$(INCLUDE_DIR) \ -I$(INCLUDE_DIR)/win32 \ -I$(MINGW_PLUS_DIR) \ -I$(IDLETRACK_TOP) \ -I$(GAIM_TOP) \ -I$(GTK_TOP)/include \ -I$(GTK_TOP)/include/gtk-2.0 \ -I$(GTK_TOP)/include/glib-2.0 \ -I$(GTK_TOP)/include/pango-1.0 \ -I$(GTK_TOP)/include/atk-1.0 \ -I$(GTK_TOP)/lib/glib-2.0/include \ -I$(GTK_TOP)/lib/gtk-2.0/include \ -I$(ASPELL_TOP)/include \ -I$(GTKSPELL_TOP) \ -I$(NSS_DIR)/include \ -I$(NSPR_DIR)/include LIB_PATHS = -L$(GTK_TOP)/lib \ -L$(GAIM_SRC) \ -L$(IDLETRACK_TOP) \ -L$(ASPELL_TOP)/lib \ -L$(NSS_DIR)/lib \ -L$(NSPR_DIR)/lib ## ## SOURCES, OBJECTS ## DLL_C_SRC = about.c \ account.c \ accountopt.c \ away.c \ blist.c \ buddyicon.c \ cmds.c \ connection.c \ conversation.c \ core.c \ debug.c \ dialogs.c \ dnd-hints.c \ eventloop.c \ ft.c \ gaim-disclosure.c \ gtkaccount.c \ gtkblist.c \ gtkconn.c \ gtkconv.c \ gtkcellrendererprogress.c \ gtkdebug.c \ gtkeventloop.c \ gtkft.c \ gtkimhtml.c \ gtkimhtmltoolbar.c \ gtklog.c \ gtknotify.c \ gtkplugin.c \ gtkpluginpref.c \ gtkpounce.c \ gtkprefs.c \ gtkprivacy.c \ gtkrequest.c \ gtkroomlist.c \ gtksound.c \ gtksourceiter.c \ gtkutils.c \ idle.c \ imgstore.c \ log.c \ main.c \ md5.c \ network.c \ notify.c \ plugin.c \ pluginpref.c \ pounce.c \ prefs.c \ privacy.c \ proxy.c \ prpl.c \ request.c \ roomlist.c \ server.c \ sha.c \ signals.c \ sound.c \ sslconn.c \ status.c \ stock.c \ stringref.c \ themes.c \ util.c \ value.c \ xmlnode.c \ win32/win32dep.c \ win32/MinimizeToTray.c \ win32/libc_interface.c \ win32/wspell.c \ win32/untar.c RC_SRC = win32/gaimrc.rc EXE_C_SRC = win_gaim.c DLL_OBJECTS = $(DLL_C_SRC:%.c=%.o) EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) ## ## LIBRARIES ## DLL_LIBS = -lgtk-win32-2.0 \ -latk-1.0 \ -lpango-1.0 \ -lglib-2.0 \ -lgdk-win32-2.0 \ -lgobject-2.0 \ -lintl \ -lgmodule-2.0 \ -lgdk_pixbuf-2.0 \ -lws2_32 \ -liberty \ -lwinmm \ -lzdll \ -lidletrack \ -lnss3 \ -lnspr4 \ -lssl3 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 all: $(TARGET).exe $(TARGET).dll install: cp $(GAIM_SRC)/gaim.exe $(GAIM_SRC)/gaim.dll $(GAIM_INSTALL_DIR) $(IDLETRACK_TOP)/idletrack.dll: $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw # # BUILD DLL # $(TARGET).lib $(TARGET).dll: $(DLL_OBJECTS) $(IDLETRACK_TOP)/idletrack.dll $(CC) -shared $(DLL_OBJECTS) $(LIB_PATHS) $(DLL_LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll # # BUILD EXE # $(TARGET).exe: $(TARGET).dll $(EXE_OBJECTS) $(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(TARGET).exe ## ## CLEAN RULES ## clean: $(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw clean rm -rf *.o ./win32/*.o rm -rf $(TARGET).dll rm -rf $(TARGET).lib rm -rf $(TARGET).exe