view src/protocols/yahoo/Makefile.mingw @ 3656:e597186997d5

[gaim-migrate @ 3785] (15:28:08) wmahan: I put it a comment saying "this can't happen" and return -1; (15:28:11) wmahan: it can happen :) committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sat, 12 Oct 2002 19:29:40 +0000
parents 9682c0e022c6
children fd3880c03f0d
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of libyahoo
#

#
# PATHS
#

BUILD_TOOLS = /usr/local/mingw

INCLUDE_DIR :=		.

GTK_TOP :=		../../../../win32-dev/gtk_2_0
GAIM_TOP :=		../../..
YAHOO_ROOT :=		.
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir

##
## VARIABLE DEFINITIONS
##

TARGET = libyahoo

VERSION := $(shell cat $(GAIM_TOP)/VERSION)

# Compiler Options

GCOPTS = -B $(BUILD_TOOLS)

CC = gcc.exe $(GCOPTS)

CFLAGS = -O2 -Werror -Wall -mno-cygwin -fnative-struct

DEFINES = 		-DAIM_BUILDDATE=\"`date +%Y%m%d`\" \
			-DAIM_BUILDTIME=\"`date +%H%M%S`\" \
			-DVERSION=\"$(VERSION)\" \
			-DHAVE_CONFIG_H

# Static or Plugin... 
ifeq ($(TYPE),STATIC)
  DEFINES += -DSTATIC
  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)
else
ifeq ($(TYPE),PLUGIN)
  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)/plugins
endif
endif


##
## INCLUDE  MAKEFILES
##


##
## INCLUDE PATHS
##

INCLUDE_PATHS +=	-I$(YAHOO_ROOT) \
			-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$(GAIM_TOP)/src \
			-I$(GAIM_TOP)/src/win32 \
			-I$(GAIM_TOP)


LIB_PATHS =		-L$(GTK_TOP)/lib \
			-L$(GAIM_TOP)/src


##
##  SOURCES, OBJECTS
##

C_SRC =		yahoo.c \
		crypt.c


OBJECTS = $(C_SRC:%.c=%.o)


##
## LIBRARIES
##

LIBS = -lgtk-win32-2.0 -lglib-2.0 -lgdk-win32-2.0 -lgmodule-2.0 -lgobject-2.0 -lws2_32 -lintl -lgaim

# -liberty


##
## RULES
##

# How to make a C file

%.o: %.c
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<

##
## TARGET DEFINITIONS
##

.PHONY: all clean

all: $(TARGET).dll

install:
	cp $(YAHOO_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR)


##
## BUILD Dependencies
##

$(GAIM_TOP)/src/gaim.lib:
	$(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw gaim.lib

##
## BUILD DLL
##

$(TARGET).def: $(OBJECTS)
	dlltool --dllname $(TARGET).dll -z $(TARGET).def \
		$(OBJECTS)

$(TARGET).base: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib
	gcc -mdll -o junk.tmp -Wl,--base-file,$@ $(OBJECTS) $(LIB_PATHS) $(LIBS)
	rm -rf junk.tmp

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

$(TARGET).dll: $(OBJECTS) $(TARGET).exp $(GAIM_TOP)/src/gaim.lib
	dlltool -D $(TARGET).dll -d $(TARGET).def -l $(TARGET).lib
	gcc -mdll -o $(TARGET).dll $(OBJECTS) -Wl,$(TARGET).exp $(LIB_PATHS) $(LIBS)
	rm -rf $(TARGET).exp


##
## CLEAN RULES
##

clean:
	rm -rf *.o
	rm -rf $(TARGET).dll
	rm -rf $(TARGET).lib
	rm -rf $(TARGET).def