# # Makefile.mingw # # Description: Makefile for win32 (mingw) version of libsilcgaim # # # PATHS # INCLUDE_DIR := . GTK_TOP := ../../../../win32-dev/gtk_2_0 GAIM_TOP := ../../.. SILC_ROOT := . GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir SILC_TOP := ../../../../win32-dev/silc-toolkit-0.9.12 ## ## VARIABLE DEFINITIONS ## TARGET = libsilcgaim NEEDED_DLLS = $(SILC_TOP)/win32/libsilc/Release/libsilc.dll \ $(SILC_TOP)/win32/libsilcclient/Release/libsilcclient.dll # Compiler Options CFLAGS = DEFINES = # 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 $(GAIM_TOP)/src/win32/global.mak ## ## INCLUDE PATHS ## INCLUDE_PATHS += -I$(SILC_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) \ -I$(SILC_TOP)/win32 \ -I$(SILC_TOP)/win32/include LIB_PATHS = -L$(GTK_TOP)/lib \ -L$(GAIM_TOP)/src \ -L$(SILC_TOP)/win32/libsilc/Release \ -L$(SILC_TOP)/win32/libsilcclient/Release \ ## ## SOURCES, OBJECTS ## C_SRC = silc.c \ buddy.c \ chat.c \ ft.c \ ops.c \ pk.c \ util.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 \ -llibsilc \ -llibsilcclient \ -lwsock32 ## ## 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 $(SILC_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR) cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR) ## ## BUILD Dependencies ## $(GAIM_TOP)/src/gaim.lib: $(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw gaim.lib ## ## BUILD DLL ## $(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--image-base,0x64000000 -o $(TARGET).dll ## ## CLEAN RULES ## clean: rm -rf *.o rm -rf $(TARGET).dll rm -rf $(TARGET).lib