# Author: hermanator12002@yahoo.com # Description: Top Makefile for win32 (mingw) port of Pidgin and libpurple 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
\ sub(int($$3), "", $$5); \ if (sub("beta", "", $$5) > 0) { \ printf("%s.%s.%s.%s", $$1, $$2, int($$3), $$4); \ GTK_INSTALL_VERSION = $(shell
\ source ../gtk_installer/version.sh
; \ STRIPPED_RELEASE_DIR = $(PIDGIN_TREE_TOP
)/pidgin-
$(PIDGIN_VERSION
)-win32bin
# 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 libsilcclient-1-1-2.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) $(PIDGIN_REVISION_H) $(MAKE
) -C
$(PURPLE_TOP
) -f
$(MINGW_MAKEFILE
) $(MAKE
) -C
$(PIDGIN_TOP
) -f
$(MINGW_MAKEFILE
) $(MAKE
) -C
$(PURPLE_PO_TOP
) -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/ca-certs
-f
$(MINGW_MAKEFILE
) install
$(MAKE
) -C
share/sounds
-f
$(MINGW_MAKEFILE
) install
create_release_install_dir: install rm
-rf
$(STRIPPED_RELEASE_DIR
) cp
-R
$(PIDGIN_INSTALL_DIR
) $(STRIPPED_RELEASE_DIR
) find
$(STRIPPED_RELEASE_DIR
) \( -name
'*.dll' -o
-name
'*.exe' \) \ -not
\( -false
$(EXTERNAL_DLLS_FIND_EXP
) \) -exec
$(STRIP
) --strip-unneeded
{} ';' installer: create_release_install_dir $(MAKENSIS
) $(MAKENSISOPT
)V3
$(MAKENSISOPT
)DPIDGIN_VERSION="$(PIDGIN_VERSION
)" $(MAKENSISOPT
)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION
)" $(MAKENSISOPT
)DWITH_GTK
$(MAKENSISOPT
)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR
)" $(MAKENSISOPT
)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION
)" pidgin/win32/nsis/pidgin-installer.nsi
mv
pidgin/win32/nsis/pidgin-
$(PIDGIN_VERSION
).exe
./
installer_nogtk: create_release_install_dir $(MAKENSIS
) $(MAKENSISOPT
)V3
$(MAKENSISOPT
)DPIDGIN_VERSION="$(PIDGIN_VERSION
)" $(MAKENSISOPT
)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION
)" $(MAKENSISOPT
)DPIDGIN_INSTALL_DIR="$(STRIPPED_RELEASE_DIR
)" $(MAKENSISOPT
)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION
)" pidgin/win32/nsis/pidgin-installer.nsi
mv
pidgin/win32/nsis/pidgin-
$(PIDGIN_VERSION
)-no-gtk.exe
./
$(MAKENSIS
) $(MAKENSISOPT
)V3
$(MAKENSISOPT
)DPIDGIN_VERSION="$(PIDGIN_VERSION
)" $(MAKENSISOPT
)DPIDGIN_PRODUCT_VERSION="$(PIDGIN_PRODUCT_VERSION
)" $(MAKENSISOPT
)DPIDGIN_INSTALL_DIR="$(PIDGIN_INSTALL_DIR
)" $(MAKENSISOPT
)DDEBUG
$(MAKENSISOPT
)DGTK_INSTALL_VERSION="$(GTK_INSTALL_VERSION
)" pidgin/win32/nsis/pidgin-installer.nsi
mv
pidgin/win32/nsis/pidgin-
$(PIDGIN_VERSION
)-debug.exe
./
installer_zip: create_release_install_dir rm
-f
pidgin-
$(PIDGIN_VERSION
)-win32-bin.zip
zip
-9
-r
pidgin-
$(PIDGIN_VERSION
)-win32-bin.zip
$(STRIPPED_RELEASE_DIR
) installers: installer installer_nogtk installer_debug installer_zip 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
@echo
"Running doxygen..." $(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
share/ca-certs
-f
$(MINGW_MAKEFILE
) clean
rm
-f
$(PIDGIN_CONFIG_H
) $(PIDGIN_REVISION_H
) $(PIDGIN_REVISION_RAW_TXT
) ./VERSION
pidgin-
$(PIDGIN_VERSION
)*.exe
pidgin-
$(PIDGIN_VERSION
)-win32-bin.zip
rm
-rf
doc/html
Doxyfile.mingw
rm
-rf
$(PURPLE_INSTALL_PERL_DIR
) $(PIDGIN_INSTALL_PLUGINS_DIR
) $(PURPLE_INSTALL_PO_DIR
) $(PIDGIN_INSTALL_DIR
) $(STRIPPED_RELEASE_DIR
) include $(PIDGIN_COMMON_TARGETS) .PHONY: $(PIDGIN_REVISION_H) $(PIDGIN_REVISION_RAW_TXT)