# Makefile.mingw # # Author: hermanator12002@yahoo.com # Date 9/11/02 # Description: Top Makefile for win32 (mingw) port of Gaim # GAIM_TOP := . include $(GAIM_TOP)/libpurple/win32/global.mak # Generate a X.X.X.X version for the installer file versioning header # The last digit will be 99 for a final release, 0 for dev or unknown, or the beta number PIDGIN_PRODUCT_VERSION = $(shell \ awk 'BEGIN {FS="."} { \ if (int($$3) == $$3) { \ $$4 = "99"; \ } else { \ $$5 = $$3; \ sub(int($$3), "", $$5); \ if ($$5 == "dev") { \ $$4 = "0"; \ } else { \ if (sub("beta", "", $$5) > 0) { \ $$4 = $$5; \ } else { \ $$4 = "0"; \ } \ } \ } \ printf("%s.%s.%s.%s", $$1, $$2, int($$3), $$4); \ exit; \ }' VERSION) GTK_INSTALL_VERSION = $(shell \ source ../gtk_installer/version.sh; \ echo $$gtk_version \ ) # Any *.dll or *.exe files included in win32-install-dir that we don't compile # should be included in this list so they don't get stripped EXTERNAL_DLLS = \ freebl3.dll \ libgtkspell.dll \ libmeanwhile-1.dll \ libxml2.dll \ nspr4.dll \ nss3.dll \ nssckbi.dll \ plc4.dll \ plds4.dll \ silc.dll \ silcclient.dll \ softokn3.dll \ ssl3.dll #build an expression for `find` to use to ignore the above files EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS)) .PHONY: all install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir all: $(GAIM_CONFIG_H) $(MAKE) -C $(GAIM_LIB_TOP) -f $(GAIM_WIN32_MAKEFILE) $(MAKE) -C $(GAIM_GTK_TOP) -f $(GAIM_WIN32_MAKEFILE) $(MAKE) -C $(GAIM_PO_TOP) -f $(GAIM_WIN32_MAKEFILE) install: all $(GAIM_INSTALL_DIR) $(MAKE) -C $(GAIM_LIB_TOP) -f $(GAIM_WIN32_MAKEFILE) install $(MAKE) -C $(GAIM_GTK_TOP) -f $(GAIM_WIN32_MAKEFILE) install $(MAKE) -C $(GAIM_PO_TOP) -f $(GAIM_WIN32_MAKEFILE) install create_release_install_dir: install rm -rf $(GAIM_INSTALL_DIR).release cp -R $(GAIM_INSTALL_DIR) $(GAIM_INSTALL_DIR).release find $(GAIM_INSTALL_DIR).release \( -name '*.dll' -o -name '*.exe' \) \ -not \( -false $(EXTERNAL_DLLS_FIND_EXP) \) -exec $(STRIP) --strip-unneeded {} ';' installer: create_release_install_dir $(MAKENSIS) /V3 /DPIDGIN_VERSION="$(GAIM_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DWITH_GTK /DPIDGIN_INSTALL_DIR="$(GAIM_INSTALL_DIR).release" /DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi mv pidgin/win32/nsis/pidgin*.exe ./ installer_nogtk: create_release_install_dir $(MAKENSIS) /V3 /DPIDGIN_VERSION="$(GAIM_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DPIDGIN_INSTALL_DIR="$(GAIM_INSTALL_DIR).release" /DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi mv pidgin/win32/nsis/pidgin*.exe ./ installer_debug: install $(MAKENSIS) /V3 /DPIDGIN_VERSION="$(GAIM_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DPIDGIN_INSTALL_DIR="$(GAIM_INSTALL_DIR)" /DDEBUG /DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION)" pidgin/win32/nsis/pidgin-installer.nsi mv pidgin/win32/nsis/pidgin*.exe ./ installers: installer installer_nogtk installer_debug clean: $(MAKE) -C $(GAIM_PO_TOP) -f $(GAIM_WIN32_MAKEFILE) clean $(MAKE) -C $(GAIM_GTK_TOP) -f $(GAIM_WIN32_MAKEFILE) clean $(MAKE) -C $(GAIM_LIB_TOP) -f $(GAIM_WIN32_MAKEFILE) clean rm -f $(GAIM_CONFIG_H) VERSION pidgin*.exe uninstall: rm -rf $(GAIM_INSTALL_PERLMOD_DIR) $(GAIM_INSTALL_PLUGINS_DIR) $(GAIM_INSTALL_PO_DIR) $(GAIM_INSTALL_DIR) $(GAIM_INSTALL_DIR).release include $(GAIM_COMMON_TARGETS)