pidgin/pidgin

58473fc5ee73
Use GLib XDG dirs functions instead of g_getenv
#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of Pidgin
#
PIDGIN_TREE_TOP := ..
include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
DEFINES := $(subst -DWIN32_LEAN_AND_MEAN,,$(DEFINES))
##
## VARIABLE DEFINITIONS
##
EXE_TARGET := pidgin
PIDGIN_TARGET := pidgin
EXE_NAME := $(EXE_TARGET).exe
WINAPP := -mwindows
LDFLAGS := $(WINAPP) $(LD_HARDENING_OPTIONS) -Wl,--enable-auto-import -lssp
##
## INCLUDE PATHS
##
PURPLE_INCLUDE_PATHS = \
-I$(PURPLE_TOP) \
-I$(PURPLE_TOP)/win32 \
-I$(PIDGIN_TREE_TOP) \
-I$(GTK_TOP)/include \
-I$(GTK_TOP)/include/glib-2.0 \
-I$(GTK_TOP)/lib/glib-2.0/include
INCLUDE_PATHS += \
$(PURPLE_INCLUDE_PATHS) \
-I$(PIDGIN_TOP) \
-I$(PIDGIN_TOP)/win32 \
$(VV_INCLUDE_PATHS) \
-I$(GTK_TOP)/include/gtk-2.0 \
-I$(GTK_TOP)/include/pango-1.0 \
-I$(GTK_TOP)/include/atk-1.0 \
-I$(GTK_TOP)/include/cairo \
-I$(GTK_TOP)/include/gdk-pixbuf-2.0 \
-I$(GTK_TOP)/lib/gtk-2.0/include \
-I$(LIBSOUP_TOP)/include/libsoup-2.4 \
-I$(LIBGADU_TOP)/include \
-I$(WEBKITGTK_TOP)/include/webkitgtk-1.0
LIB_PATHS += -L$(GTK_TOP)/lib \
-L$(WEBKITGTK_TOP)/lib \
-L$(LIBGADU_TOP)/lib \
-L$(PURPLE_TOP) \
-L$(PIDGIN_TOP) \
$(VV_LIB_PATHS)
##
## SOURCES, OBJECTS
##
PIDGIN_C_SRC = \
gtkaccount.c \
gtkblist-theme-loader.c \
gtkblist-theme.c \
gtkblist.c \
gtkcellrendererexpander.c \
gtkcertmgr.c \
gtkconn.c \
gtkconv.c \
gtkconv-theme.c \
gtkconv-theme-loader.c \
gtkdebug.c \
gtkdialogs.c \
gtkdnd-hints.c \
gtkdocklet.c \
gtkeventloop.c \
gtkicon-theme-loader.c \
gtkicon-theme.c \
gtkidle.c \
gtklog.c \
gtkmedia.c \
gtkmenutray.c \
gtknotify.c \
gtkplugin.c \
gtkpluginpref.c \
gtkpounce.c \
gtkprefs.c \
gtkprivacy.c \
gtkrequest.c \
gtkroomlist.c \
gtksavedstatuses.c \
gtkscrollbook.c \
gtksmiley-manager.c \
gtksmiley-theme.c \
gtksound.c \
gtkstatus-icon-theme.c \
gtkstatusbox.c \
gtkutils.c \
gtkwebview.c \
gtkwebviewtoolbar.c \
gtkwhiteboard.c \
gtkxfer.c \
libpidgin.c \
minidialog.c \
pidgin.c \
pidginstock.c \
pidgintooltip.c \
win32/gtkwin32dep.c \
win32/untar.c
PIDGIN_RC_SRC = win32/pidgin_dll_rc.rc
PIDGIN_OBJECTS = $(PIDGIN_C_SRC:%.c=%.o) $(PIDGIN_RC_SRC:%.rc=%.o)
EXE_RC_SRC = win32/pidgin_exe_rc.rc
EXE_C_SRC = win32/winpidgin.c
EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(EXE_RC_SRC:%.rc=%.o)
##
## LIBRARIES
##
PIDGIN_LIBS = \
-lintl \
-lglib-2.0 \
-lgobject-2.0 \
-lgthread-2.0 \
-lpurple \
-lz \
-lgtk-win32-2.0 \
-latk-1.0 \
-lcairo \
-lpango-1.0 \
-lgdk-win32-2.0 \
-lgdk_pixbuf-2.0 \
-lgdi32 \
-lgadu \
-lwinmm \
$(VV_LIBS) \
-lwebkitgtk-1.0
include $(PIDGIN_COMMON_RULES)
##
## TARGET DEFINITIONS
##
.PHONY: all install install_shallow clean
all: $(EXE_TARGET).exe $(PIDGIN_TARGET).dll
$(MAKE_at) $(MAKE) -C $(PIDGIN_PLUGINS_TOP) -f $(MINGW_MAKEFILE)
gtkdialogs.c: $(PIDGIN_REVISION_H)
win32/pidgin_exe_rc.rc: win32/pidgin_exe_rc.rc.in $(PIDGIN_TREE_TOP)/VERSION
@echo -e " GEN\t$@"
@sed -e 's/@PURPLE_VERSION@/$(PIDGIN_VERSION)/g' \
-e 's/@PURPLE_MAJOR_VERSION@/$(PURPLE_MAJOR_VERSION)/g' \
-e 's/@PURPLE_MINOR_VERSION@/$(PURPLE_MINOR_VERSION)/g' \
-e 's/@PURPLE_MICRO_VERSION@/$(PURPLE_MICRO_VERSION)/g' \
-e 's/@PURPLE_API_VERSION@/$(PURPLE_API_VERSION)/g' \
$@.in > $@
install_shallow: $(PIDGIN_INSTALL_DIR) $(EXE_TARGET).exe $(PIDGIN_TARGET).dll
cp $(EXE_TARGET).exe $(PIDGIN_TARGET).dll $(PIDGIN_INSTALL_DIR)
mkdir -p "$(PIDGIN_INSTALL_DIR)/theme"
cp -r themes/* "$(PIDGIN_INSTALL_DIR)/theme/"
chmod -R 777 "$(PIDGIN_INSTALL_DIR)/theme/"
install: install_shallow all
$(MAKE_at) $(MAKE) -C $(PIDGIN_PLUGINS_TOP) -f $(MINGW_MAKEFILE) install
$(MAKE_at) $(MAKE) -C $(PIDGIN_PIXMAPS_TOP) -f $(MINGW_MAKEFILE) install
win32/pidgin_dll_rc.rc: win32/pidgin_dll_rc.rc.in $(PIDGIN_TREE_TOP)/VERSION
@echo -e " GEN\t$@"
@sed -e 's/@PURPLE_VERSION@/$(PIDGIN_VERSION)/g' \
-e 's/@PURPLE_MAJOR_VERSION@/$(PURPLE_MAJOR_VERSION)/g' \
-e 's/@PURPLE_MINOR_VERSION@/$(PURPLE_MINOR_VERSION)/g' \
-e 's/@PURPLE_MICRO_VERSION@/$(PURPLE_MICRO_VERSION)/g' \
-e 's/@PURPLE_API_VERSION@/$(PURPLE_API_VERSION)/g' \
$@.in > $@
$(EXE_OBJECTS) $(PIDGIN_OBJECTS): $(PIDGIN_CONFIG_H)
gtkdebug.c: gtkdebug.html.h
$(PIDGIN_TARGET).dll $(PIDGIN_TARGET).dll.a: $(PURPLE_DLL).a $(PIDGIN_OBJECTS)
$(CC) -shared $(PIDGIN_OBJECTS) $(LIB_PATHS) $(PIDGIN_LIBS) $(DLL_LD_FLAGS) -Wl,--output-def,$(PIDGIN_TARGET).def,--out-implib,$(PIDGIN_TARGET).dll.a -o $(PIDGIN_TARGET).dll
$(EXE_TARGET).exe: $(PIDGIN_CONFIG_H) $(PIDGIN_DLL).a $(EXE_OBJECTS) $(PIDGIN_TARGET).dll
$(CC) $(EXE_OBJECTS) $(LDFLAGS) -o $(EXE_TARGET).exe
##
## CLEAN RULES
##
clean:
$(MAKE_at) $(MAKE) -C $(PIDGIN_PLUGINS_TOP) -f $(MINGW_MAKEFILE) clean
$(MAKE_at) $(MAKE) -C $(PIDGIN_PIXMAPS_TOP) -f $(MINGW_MAKEFILE) clean
rm -f $(PIDGIN_OBJECTS) $(PIDGIN_RC_SRC) $(EXE_OBJECTS) $(EXE_RC_SRC)
rm -f $(PIDGIN_TARGET).dll $(PIDGIN_TARGET).dll.a $(PIDGIN_TARGET).def
rm -f $(EXE_TARGET).exe
include $(PIDGIN_COMMON_TARGETS)