comparison libgaim/protocols/jabber/Makefile.mingw @ 14315:8793fc8f7064

[gaim-migrate @ 17008] Lee Roach revamped the win32 makefiles. This makes me happy, they were in dire need of some loving. This makes life a great deal easier for anyone who wants to build out-of-tree plugins. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Wed, 23 Aug 2006 21:34:43 +0000
parents a7590884324d
children 12cb76aeb21c
comparison
equal deleted inserted replaced
14314:8b8188fa98f4 14315:8793fc8f7064
2 # Makefile.mingw 2 # Makefile.mingw
3 # 3 #
4 # Description: Makefile for win32 (mingw) version of libjabber 4 # Description: Makefile for win32 (mingw) version of libjabber
5 # 5 #
6 6
7 # 7 GAIM_TOP := ../../..
8 # PATHS 8 include $(GAIM_TOP)/libgaim/win32/global.mak
9 #
10
11 GTK_TOP := ../../../../win32-dev/gtk_2_0
12 LIBXML2_DIR:= ../../../../win32-dev/libxml2
13 GAIM_TOP := ../../..
14 LIBGAIM_TOP := ../..
15 JABBER_ROOT := .
16 GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir
17
18 ##
19 ## VARIABLE DEFINITIONS
20 ##
21 9
22 TARGET = libjabber 10 TARGET = libjabber
23
24 # Compiler Options
25
26 CFLAGS =
27
28 DEFINES =
29 11
30 # Static or Plugin... 12 # Static or Plugin...
31 ifeq ($(TYPE),STATIC) 13 ifeq ($(TYPE),STATIC)
32 DEFINES += -DSTATIC 14 DEFINES += -DSTATIC
33 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR) 15 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)
34 else 16 else
35 ifeq ($(TYPE),PLUGIN) 17 ifeq ($(TYPE),PLUGIN)
36 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)/plugins 18 DLL_INSTALL_DIR = $(GAIM_INSTALL_PLUGINS_DIR)
37 endif 19 endif
38 endif 20 endif
39
40
41 ##
42 ## INCLUDE MAKEFILES
43 ##
44
45 include $(LIBGAIM_TOP)/win32/global.mak
46 21
47 ## 22 ##
48 ## INCLUDE PATHS 23 ## INCLUDE PATHS
49 ## 24 ##
50 25 INCLUDE_PATHS += -I. \
51 INCLUDE_PATHS += -I$(JABBER_ROOT) \ 26 -I./win32 \
52 -I$(JABBER_ROOT)/win32 \
53 -I$(GTK_TOP)/include \ 27 -I$(GTK_TOP)/include \
54 -I$(GTK_TOP)/include/glib-2.0 \ 28 -I$(GTK_TOP)/include/glib-2.0 \
55 -I$(GTK_TOP)/lib/glib-2.0/include \ 29 -I$(GTK_TOP)/lib/glib-2.0/include \
56 -I$(LIBXML2_DIR)/include \ 30 -I$(LIBXML2_TOP)/include \
57 -I$(LIBGAIM_TOP) \ 31 -I$(GAIM_LIB_TOP) \
58 -I$(LIBGAIM_TOP)/win32 \ 32 -I$(GAIM_LIB_TOP)/win32 \
59 -I$(GAIM_TOP) 33 -I$(GAIM_TOP)
60 34
61
62 LIB_PATHS = -L$(GTK_TOP)/lib \ 35 LIB_PATHS = -L$(GTK_TOP)/lib \
63 -L$(LIBXML2_DIR)/lib \ 36 -L$(LIBXML2_TOP)/lib \
64 -L$(LIBGAIM_TOP) 37 -L$(GAIM_LIB_TOP)
65
66 38
67 ## 39 ##
68 ## SOURCES, OBJECTS 40 ## SOURCES, OBJECTS
69 ## 41 ##
70
71 C_SRC = auth.c \ 42 C_SRC = auth.c \
72 buddy.c \ 43 buddy.c \
73 chat.c \ 44 chat.c \
74 disco.c \ 45 disco.c \
75 iq.c \ 46 iq.c \
82 roster.c \ 53 roster.c \
83 si.c \ 54 si.c \
84 xdata.c \ 55 xdata.c \
85 win32/posix.uname.c 56 win32/posix.uname.c
86 57
87
88 OBJECTS = $(C_SRC:%.c=%.o) 58 OBJECTS = $(C_SRC:%.c=%.o)
89
90 59
91 ## 60 ##
92 ## LIBRARIES 61 ## LIBRARIES
93 ## 62 ##
94
95 LIBS = \ 63 LIBS = \
96 -lglib-2.0 \ 64 -lglib-2.0 \
97 -lxml2 \ 65 -lxml2 \
98 -lws2_32 \ 66 -lws2_32 \
99 -lintl \ 67 -lintl \
100 -lgaim 68 -lgaim
101 69
102 ## 70 include $(GAIM_COMMON_RULES)
103 ## RULES
104 ##
105
106 # How to make a C file
107
108 %.o: %.c
109 $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<
110 71
111 ## 72 ##
112 ## TARGET DEFINITIONS 73 ## TARGET DEFINITIONS
113 ## 74 ##
114
115 .PHONY: all clean 75 .PHONY: all clean
116 76
117 all: $(TARGET).dll 77 all: $(TARGET).dll
118 78
119 install: 79 install: all $(DLL_INSTALL_DIR)
120 cp $(JABBER_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR) 80 cp $(TARGET).dll $(DLL_INSTALL_DIR)
121 81
82 $(OBJECTS): $(GAIM_CONFIG_H)
122 83
123 ## 84 $(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(OBJECTS)
124 ## BUILD Dependencies
125 ##
126
127 $(LIBGAIM_TOP)/libgaim.dll.a:
128 $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a
129
130 ##
131 ## BUILD DLL
132 ##
133
134 $(TARGET).dll: $(OBJECTS) $(LIBGAIM_TOP)/libgaim.dll.a
135 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll 85 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll
136 86
137 ## 87 ##
138 ## CLEAN RULES 88 ## CLEAN RULES
139 ## 89 ##
90 clean:
91 rm -rf $(OBJECTS)
92 rm -rf $(TARGET).dll
140 93
141 clean: 94 include $(GAIM_COMMON_TARGETS)
142 rm -rf *.o
143 rm -rf ./win32/*.o
144 rm -rf $(TARGET).dll