pidgin/Makefile.mingw

Tue, 24 Nov 2015 23:16:45 -0800

author
Jorge Villaseñor <salinasv@pidgin.im>
date
Tue, 24 Nov 2015 23:16:45 -0800
changeset 37398
a9aa2aa0b1b6
parent 37140
25d39bb4d758
child 38420
156734aa651c
permissions
-rw-r--r--

Replace magic numbers on the sound API

Added an enum for the enable sound preference.
Added sound.c on the list to convert them to GEnums

#
# 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)

mercurial