Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
120 lines (101 sloc) 4.34 KB
# 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 src -f $(MINGW_MAKEFILE)
$(MAKE) -C pixmaps -f $(MINGW_MAKEFILE)
$(MAKE) -C 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 src -f $(MINGW_MAKEFILE) install
$(MAKE) -C pixmaps -f $(MINGW_MAKEFILE) install
$(MAKE) -C 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 src -f $(MINGW_MAKEFILE) clean
$(MAKE) -C pixmaps -f $(MINGW_MAKEFILE) clean
$(MAKE) -C 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)