gaim/gaim

This is basically the same scenario as the previous fix.
oldstatus v1_3_1
2005-06-09, Daniel Atallah
ddb659dd612d
This is basically the same scenario as the previous fix.
#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of Gaim
#
#
# PATHS
#
INCLUDE_DIR := .
GTK_TOP := ../../win32-dev/gtk_2_0
GAIM_TOP := ..
GAIM_SRC := .
ASPELL_TOP := ../../win32-dev/aspell-dev-0-50-3-3
GTKSPELL_TOP := ../../win32-dev/gtkspell-2.0.6
IDLETRACK_TOP := $(GAIM_TOP)/src/win32/IdleTracker
GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir
MINGW_PLUS_DIR := $(GAIM_SRC)/win32/mingw_plus
NSS_DIR := ../../win32-dev/nss-3.9
NSPR_DIR := ../../win32-dev/nspr-4.4.1
##
## VARIABLE DEFINITIONS
##
TARGET = gaim
# Compiler and Linker Options
CFLAGS =
DEFINES =
LDFLAGS = -mwindows
#-mconsole
#-mwindows
WINDRES := windres
##
## INCLUDE MAKEFILES
##
include $(GAIM_TOP)/src/win32/global.mak
##
## INCLUDE PATHS
##
INCLUDE_PATHS = -I$(INCLUDE_DIR) \
-I$(INCLUDE_DIR)/win32 \
-I$(MINGW_PLUS_DIR) \
-I$(IDLETRACK_TOP) \
-I$(GAIM_TOP) \
-I$(GTK_TOP)/include \
-I$(GTK_TOP)/include/gtk-2.0 \
-I$(GTK_TOP)/include/glib-2.0 \
-I$(GTK_TOP)/include/pango-1.0 \
-I$(GTK_TOP)/include/atk-1.0 \
-I$(GTK_TOP)/lib/glib-2.0/include \
-I$(GTK_TOP)/lib/gtk-2.0/include \
-I$(ASPELL_TOP)/include \
-I$(GTKSPELL_TOP) \
-I$(NSS_DIR)/include \
-I$(NSPR_DIR)/include
LIB_PATHS = -L$(GTK_TOP)/lib \
-L$(GAIM_SRC) \
-L$(IDLETRACK_TOP) \
-L$(ASPELL_TOP)/lib \
-L$(NSS_DIR)/lib \
-L$(NSPR_DIR)/lib
##
## SOURCES, OBJECTS
##
DLL_C_SRC = \
account.c \
accountopt.c \
away.c \
blist.c \
buddyicon.c \
cmds.c \
connection.c \
conversation.c \
core.c \
debug.c \
dnd-hints.c \
eventloop.c \
ft.c \
gaim-disclosure.c \
gtkaccount.c \
gtkblist.c \
gtkconn.c \
gtkconv.c \
gtkcellrendererprogress.c \
gtkdebug.c \
gtkdialogs.c \
gtkeventloop.c \
gtkft.c \
gtkimhtml.c \
gtkimhtmltoolbar.c \
gtklog.c \
gtknotify.c \
gtkplugin.c \
gtkpluginpref.c \
gtkpounce.c \
gtkprefs.c \
gtkprivacy.c \
gtkrequest.c \
gtkroomlist.c \
gtksound.c \
gtksourceiter.c \
gtkutils.c \
idle.c \
imgstore.c \
log.c \
main.c \
md5.c \
network.c \
notify.c \
plugin.c \
pluginpref.c \
pounce.c \
prefs.c \
privacy.c \
proxy.c \
prpl.c \
request.c \
roomlist.c \
server.c \
sha.c \
signals.c \
sound.c \
sslconn.c \
status.c \
stock.c \
stringref.c \
themes.c \
util.c \
value.c \
xmlnode.c \
win32/win32dep.c \
win32/MinimizeToTray.c \
win32/libc_interface.c \
win32/wspell.c \
win32/untar.c
RC_SRC = win32/gaimrc.rc
EXE_C_SRC = win_gaim.c
DLL_OBJECTS = $(DLL_C_SRC:%.c=%.o)
EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o)
##
## LIBRARIES
##
DLL_LIBS = -lgtk-win32-2.0 \
-latk-1.0 \
-lpango-1.0 \
-lglib-2.0 \
-lgthread-2.0 \
-lgdk-win32-2.0 \
-lgobject-2.0 \
-lintl \
-lgmodule-2.0 \
-lgdk_pixbuf-2.0 \
-lws2_32 \
-liberty \
-lwinmm \
-lz \
-lidletrack \
-lnss3 \
-lnspr4 \
-lssl3
EXE_LIBS =
##
## RULES
##
# How to make a C file
%.o: %.c
$(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@
# How to make an RC file
%.o: %.rc
$(WINDRES) -i $< -o $@
##
## TARGET DEFINITIONS
##
.PHONY: all clean
all: $(TARGET).exe $(TARGET).dll
install: all
cp $(GAIM_SRC)/gaim.exe $(GAIM_SRC)/gaim.dll $(GAIM_INSTALL_DIR)
$(IDLETRACK_TOP)/idletrack.dll:
$(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw
#
# BUILD DLL
#
$(TARGET).lib $(TARGET).dll: $(DLL_OBJECTS) $(IDLETRACK_TOP)/idletrack.dll
$(CC) -shared $(DLL_OBJECTS) $(LIB_PATHS) $(DLL_LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll
#
# BUILD EXE
#
$(TARGET).exe: $(TARGET).dll $(EXE_OBJECTS)
$(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(TARGET).exe
##
## CLEAN RULES
##
clean:
$(MAKE) -C $(IDLETRACK_TOP) -f Makefile.mingw clean
rm -rf *.o ./win32/*.o
rm -rf $(TARGET).dll
rm -rf $(TARGET).lib
rm -rf $(TARGET).exe