# Makefile.mingw # # Author: hansun.lee@gmail.com # Date 3/19/08 # Description: Top Makefile for win32 (mingw) port of Pidgin-NateOn # PIDGIN_TREE_TOP := . include $(PIDGIN_TREE_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 \ # smime3.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 docs install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir all: $(PIDGIN_CONFIG_H) # $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) # $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) # $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) $(MAKE) -C $(PIDGIN_TREE_TOP)/src -f $(MINGW_MAKEFILE) $(MAKE) -C $(PIDGIN_TREE_TOP)/pixmaps -f $(MINGW_MAKEFILE) $(MAKE) -C $(PIDGIN_TREE_TOP)/po -f $(MINGW_MAKEFILE) install: all $(PIDGIN_INSTALL_DIR) # $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) install # $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) install # $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) install # $(MAKE) -C share -f $(MINGW_MAKEFILE) install $(MAKE) -C $(PIDGIN_TREE_TOP)/src -f $(MINGW_MAKEFILE) install $(MAKE) -C $(PIDGIN_TREE_TOP)/pixmaps -f $(MINGW_MAKEFILE) install $(MAKE) -C $(PIDGIN_TREE_TOP)/po -f $(MINGW_MAKEFILE) install create_release_install_dir: install rm -rf $(PIDGIN_INSTALL_DIR).release cp -R $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release find $(PIDGIN_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="$(PIDGIN_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DWITH_GTK /DPIDGIN_INSTALL_DIR="$(PIDGIN_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="$(PIDGIN_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DPIDGIN_INSTALL_DIR="$(PIDGIN_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="$(PIDGIN_VERSION)" /DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION)" /DPIDGIN_INSTALL_DIR="$(PIDGIN_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 Doxyfile.mingw: Doxyfile.in sed -e "s/@PACKAGE@/pidgin/" -e "s/@VERSION@/$(PIDGIN_VERSION)/" -e "s/@top_srcdir@/$(PIDGIN_TREE_TOP)/g" -e "s/@enable_dot@/NO/" Doxyfile.in > Doxyfile.mingw docs: Doxyfile.mingw @echo "Running doxygen..." @doxygen Doxyfile.mingw clean: # $(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) clean # $(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) clean # $(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) clean $(MAKE) -C $(PIDGIN_TREE_TOP)/src -f $(MINGW_MAKEFILE) clean $(MAKE) -C $(PIDGIN_TREE_TOP)/pixmaps -f $(MINGW_MAKEFILE) clean $(MAKE) -C $(PIDGIN_TREE_TOP)/po -f $(MINGW_MAKEFILE) clean # rm -f $(PIDGIN_CONFIG_H) ./VERSION pidgin*.exe # rm -rf doc/html Doxyfile.mingw uninstall: rm -rf $(PURPLE_INSTALL_PERLMOD_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_PO_DIR) $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release include $(PIDGIN_COMMON_TARGETS)