view src/Makefile.mingw @ 3913:419bf1bc8fa2

[gaim-migrate @ 4072] This should fix the bug where closing the debug window with the "X" would not uncheck the preference for it. Previously, it got unchecked then rechecked. The line I'm removing used to be "misc_options_new ^= OPT_MISC_DEBUG;", which I guess is a hold over or something of when prefs had that apply button, maybe. I dunno. I think this should be good... Roof. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 07 Nov 2002 03:34:46 +0000
parents 3e508dd31b76
children 7cb474d8d613
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 :=		.
PERL_LIB_DIR :=		../../win32-dev/perl56
PERL_INCLUDE :=         $(PERL_LIB_DIR)/CORE
ASPELL_TOP :=		../../win32-dev/aspell-15
GTKSPELL_TOP :=		../../win32-dev/gtkspell-2.0.2
IDLETRACKER_TOP :=	$(GAIM_TOP)/src/win32/IdleTracker
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir

##
## 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$(IDLETRACKER_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$(PERL_INCLUDE) \
			-I$(ASPELL_TOP)/include \
			-I$(GTKSPELL_TOP)


LIB_PATHS =		-L$(GTK_TOP)/lib \
			-L$(GAIM_SRC) \
			-L$(IDLETRACKER_TOP) \
			-L$(PERL_LIB_DIR) \
			-L$(ASPELL_TOP)/lib \
			-L$(GTKSPELL_TOP)/gtkspell


##
##  SOURCES, OBJECTS
##

SOUND_H_FILES =		$(GAIM_TOP)/sounds/BuddyArrive.h \
			$(GAIM_TOP)/sounds/BuddyLeave.h \
			$(GAIM_TOP)/sounds/Receive.h \
			$(GAIM_TOP)/sounds/RedAlert.h \
			$(GAIM_TOP)/sounds/Send.h

HEADER_DEPS =		$(SOUND_H_FILES)

DLL_C_SRC =		aim.c \
			about.c \
			away.c \
			browser.c \
			buddy.c \
			buddy_chat.c \
			conversation.c \
			core.c \
			dialogs.c \
			ft.c \
			gaimrc.c \
			gtkimhtml.c \
			html.c \
			idle.c \
			list.c \
			md5.c \
			module.c \
			multi.c \
			perl.c \
			prefs.c \
			proxy.c \
			prpl.c \
			server.c \
			sound.c \
			util.c \
			win32/win32dep.c \
			win32/MinimizeToTray.c \
			win32/libc_interface.c

RC_SRC =		win32/gaimrc.rc

EXE_C_SRC = 		win_aim.c

DLL_OBJECTS = $(DLL_C_SRC:%.c=%.o) 

EXE_OBJECTS = $(EXE_C_SRC:%.c=%.o) $(RC_SRC:%.rc=%.o) 

##
## LIBRARIES
##

DLL_LIBS =		-lgtkspell \
			-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 \
			-lperl56 \
			-laspell-15 \
			-lIdleTrac
			


EXE_LIBS = -lgaim -lglib-2.0

##
## RULES
##

# Make Sound headers
$(GAIM_TOP)/sounds/%.h:
	$(MAKE) -C $(GAIM_TOP)/sounds -f Makefile.mingw $(@F)

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

$(GAIM_SRC)/win32/IdleTracker/IdleTrac.dll:
	$(MAKE) -C $(GAIM_SRC)/win32/IdleTracker -f Makefile.mingw

#
# BUILD DLL
#

$(TARGET).def: $(HEADER_DEPS) $(DLL_OBJECTS)
	dlltool -D $(TARGET).dll -z $(TARGET).def --export-all-symbols \
		--exclude-symbols WinMain@16 $^

$(TARGET).base: $(HEADER_DEPS) $(DLL_OBJECTS)
	$(CC) -mdll $(LDFLAGS) -o junk.tmp -Wl,--base-file,$@ $(DLL_OBJECTS) $(LIB_PATHS) $(DLL_LIBS)
	rm -rf junk.tmp

$(TARGET).exp: $(TARGET).base $(TARGET).def
	dlltool --dllname $(TARGET).dll --base-file $(TARGET).base \
		--output-exp $(TARGET).exp --def $(TARGET).def

$(TARGET).dll: $(HEADER_DEPS) $(DLL_OBJECTS) $(GAIM_SRC)/win32/IdleTracker/IdleTrac.dll $(TARGET).exp
	$(CC) -mdll $(LDFLAGS) -o $(TARGET).dll $(DLL_OBJECTS) -Wl,$(TARGET).exp $(LIB_PATHS) $(DLL_LIBS)
	rm -rf $(TARGET).exp $(TARGET).def $(TARGET).base

$(TARGET).lib: $(TARGET).def
	dlltool -D $(TARGET).dll -d $(TARGET).def -l $(TARGET).lib	

#
# BUILD EXE
#

$(TARGET).exe: $(TARGET).lib $(EXE_OBJECTS)
	$(CC) $(LDFLAGS) $(EXE_OBJECTS) $(LIB_PATHS) $(EXE_LIBS) -o $(TARGET).exe

##
## CLEAN RULES
##

clean:
	$(MAKE) -C $(GAIM_TOP)/sounds -f Makefile.mingw clean
	$(MAKE) -C $(GAIM_SRC)/win32/IdleTracker -f Makefile.mingw clean
	rm -rf *.o ./win32/*.o
	rm -rf $(TARGET).dll
	rm -rf $(TARGET).lib
	rm -rf $(TARGET).exe