14192
|
1 #
|
|
2 # Makefile.mingw
|
|
3 #
|
|
4 # Description: Makefile for win32 (mingw) version of libjabber
|
|
5 #
|
|
6
|
|
7 #
|
|
8 # PATHS
|
|
9 #
|
|
10
|
|
11 INCLUDE_DIR := .
|
|
12 GTK_TOP := ../../../../win32-dev/gtk_2_0
|
|
13 LIBXML2_DIR:= ../../../../win32-dev/libxml2
|
|
14 GAIM_TOP := ../../..
|
|
15 JABBER_ROOT := .
|
|
16 GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir
|
|
17
|
|
18 ##
|
|
19 ## VARIABLE DEFINITIONS
|
|
20 ##
|
|
21
|
|
22 TARGET = libjabber
|
|
23
|
|
24 # Compiler Options
|
|
25
|
|
26 CFLAGS =
|
|
27
|
|
28 DEFINES =
|
|
29
|
|
30 # Static or Plugin...
|
|
31 ifeq ($(TYPE),STATIC)
|
|
32 DEFINES += -DSTATIC
|
|
33 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)
|
|
34 else
|
|
35 ifeq ($(TYPE),PLUGIN)
|
|
36 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)/plugins
|
|
37 endif
|
|
38 endif
|
|
39
|
|
40
|
|
41 ##
|
|
42 ## INCLUDE MAKEFILES
|
|
43 ##
|
|
44
|
|
45 include $(GAIM_TOP)/src/win32/global.mak
|
|
46
|
|
47 ##
|
|
48 ## INCLUDE PATHS
|
|
49 ##
|
|
50
|
|
51 INCLUDE_PATHS += -I$(JABBER_ROOT) \
|
|
52 -I$(JABBER_ROOT)/win32 \
|
|
53 -I$(GTK_TOP)/include \
|
|
54 -I$(GTK_TOP)/include/glib-2.0 \
|
|
55 -I$(GTK_TOP)/lib/glib-2.0/include \
|
|
56 -I$(LIBXML2_DIR)/include \
|
|
57 -I$(GAIM_TOP)/src \
|
|
58 -I$(GAIM_TOP)/src/win32 \
|
|
59 -I$(GAIM_TOP)
|
|
60
|
|
61
|
|
62 LIB_PATHS = -L$(GTK_TOP)/lib \
|
|
63 -L$(LIBXML2_DIR)/lib \
|
|
64 -L$(GAIM_TOP)/src
|
|
65
|
|
66
|
|
67 ##
|
|
68 ## SOURCES, OBJECTS
|
|
69 ##
|
|
70
|
|
71 C_SRC = auth.c \
|
|
72 buddy.c \
|
|
73 chat.c \
|
|
74 disco.c \
|
|
75 iq.c \
|
|
76 jabber.c \
|
|
77 jutil.c \
|
|
78 message.c \
|
|
79 oob.c \
|
|
80 parser.c \
|
|
81 presence.c \
|
|
82 roster.c \
|
|
83 si.c \
|
|
84 xdata.c \
|
|
85 win32/posix.uname.c
|
|
86
|
|
87
|
|
88 OBJECTS = $(C_SRC:%.c=%.o)
|
|
89
|
|
90
|
|
91 ##
|
|
92 ## LIBRARIES
|
|
93 ##
|
|
94
|
|
95 LIBS = \
|
|
96 -lglib-2.0 \
|
|
97 -lxml2 \
|
|
98 -lws2_32 \
|
|
99 -lintl \
|
|
100 -lgaim
|
|
101
|
|
102 ##
|
|
103 ## RULES
|
|
104 ##
|
|
105
|
|
106 # How to make a C file
|
|
107
|
|
108 %.o: %.c
|
|
109 $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<
|
|
110
|
|
111 ##
|
|
112 ## TARGET DEFINITIONS
|
|
113 ##
|
|
114
|
|
115 .PHONY: all clean
|
|
116
|
|
117 all: $(TARGET).dll
|
|
118
|
|
119 install:
|
|
120 cp $(JABBER_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR)
|
|
121
|
|
122
|
|
123 ##
|
|
124 ## BUILD Dependencies
|
|
125 ##
|
|
126
|
|
127 $(GAIM_TOP)/src/gaim.lib:
|
|
128 $(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw gaim.lib
|
|
129
|
|
130 ##
|
|
131 ## BUILD DLL
|
|
132 ##
|
|
133
|
|
134 $(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib
|
|
135 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll
|
|
136
|
|
137 ##
|
|
138 ## CLEAN RULES
|
|
139 ##
|
|
140
|
|
141 clean:
|
|
142 rm -rf *.o
|
|
143 rm -rf ./win32/*.o
|
|
144 rm -rf $(TARGET).dll
|
|
145 rm -rf $(TARGET).lib
|