view src/Makefile.mingw @ 7433:6fdc55dd636a

[gaim-migrate @ 8038] Because all the log reading and writing is abstracted, it makes it real easy to tell Gaim, "give me entire contents of the last conversation," which is useful for, say, a history.c plugin. This code is now much simpler, and it took no time at all to port it. Sort-by-log will be a bit harder. And because two people asked me within a minute of me committing it, there exists an "old log" GaimLogLogger that doesn't write logs, but can list and read them. So, you'll be able to seamlessly see your old logs along with your new logs together in the log viewer. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 05 Nov 2003 06:39:05 +0000
parents be94c4be25b4
children f05d735c2eac
line wrap: on
line source

#
# 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.4
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.8
NSPR_DIR :=		../../win32-dev/nspr-4.3

##
## VARIABLE DEFINITIONS
##

TARGET = gaim

# Compiler and Linker Options

CFLAGS =

DEFINES =

LDFLAGS = -mwindows

#-mconsole
#-mwindows

##
## 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 =		about.c \
			account.c \
			accountopt.c \
			away.c \
			blist.c \
			buddy_chat.c \
			buddyicon.c \
			connection.c \
			conversation.c \
			core.c \
			debug.c \
			dialogs.c \
			dnd-hints.c \
			ft.c \
			gaim-disclosure.c \
			gaimrc.c \
			gtkaccount.c \
			gtkblist.c \
			gtkconn.c \
			gtkconv.c \
			gtkcellrendererprogress.c \
			gtkdebug.c \
			gtkft.c \
			gtkimhtml.c \
			gtknotify.c \
			gtkplugin.c \
			gtkpounce.c \
			gtkprefs.c \
			gtkprivacy.c \
			gtkrequest.c \
			gtksound.c \
			gtksourceiter.c \
			gtkutils.c \
			idle.c \
			imgstore.c \
			log.c \
			main.c \
			md5.c \
			notify.c \
			plugin.c \
			pounce.c \
			prefs.c \
			privacy.c \
			proxy.c \
			prpl.c \
			request.c \
			server.c \
			sha.c \
			signals.c \
			sound.c \
			sslconn.c \
			status.c \
			stock.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 \
			-lpango-1.0 \
			-lglib-2.0 \
			-lgdk-win32-2.0 \
			-lgobject-2.0 \
			-lintl \
			-lgmodule-2.0 \
			-lgdk_pixbuf-2.0 \
			-lws2_32 \
			-liberty \
			-lwinmm \
			-llibz \
			-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:
	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