comparison libgaim/protocols/qq/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 82373bb6a47a
children 8ff8f1c897b5
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 OpenQ src 4 # Description: Makefile for win32 (mingw) version of OpenQ src
5 # 5 #
6 6
7 # 7 GAIM_TOP := ../../..
8 # PATHS 8 include $(GAIM_TOP)/libgaim/win32/global.mak
9 #
10
11 INCLUDE_DIR := .
12 OPENQ_TOP := ../
13 GTK_TOP := ../../../../win32-dev/gtk_2_0
14 GAIM_TOP := ../../..
15 LIBGAIM_TOP := ../..
16 OPENQ_ROOT := .
17 GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir
18
19 ##
20 ## VARIABLE DEFINITIONS
21 ##
22 9
23 TARGET = openq 10 TARGET = openq
24 11 OPENQ_TOP := ..
25 TYPE = PLUGIN 12 TYPE = PLUGIN
26
27 OPENQ_VERSION := $(shell cat $(OPENQ_TOP)/VERSION) 13 OPENQ_VERSION := $(shell cat $(OPENQ_TOP)/VERSION)
28 14 DEFINES += -DOPENQ_VERSION=\"$(OPENQ_VERSION)\"
29 # Compiler Options
30
31 CFLAGS =
32
33 DEFINES = -DOPENQ_VERSION=\"$(OPENQ_VERSION)\"
34 15
35 # Static or Plugin... 16 # Static or Plugin...
36 ifeq ($(TYPE),STATIC) 17 ifeq ($(TYPE),STATIC)
37 DEFINES += -DSTATIC 18 DEFINES += -DSTATIC
38 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR) 19 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)
39 else 20 else
40 ifeq ($(TYPE),PLUGIN) 21 ifeq ($(TYPE),PLUGIN)
41 DLL_INSTALL_DIR = $(GAIM_INSTALL_DIR)/plugins 22 DLL_INSTALL_DIR = $(GAIM_INSTALL_PLUGINS_DIR)
42 endif 23 endif
43 endif 24 endif
44
45
46 ##
47 ## INCLUDE MAKEFILES
48 ##
49
50 include $(LIBGAIM_TOP)/win32/global.mak
51 25
52 ## 26 ##
53 ## INCLUDE PATHS 27 ## INCLUDE PATHS
54 ## 28 ##
55
56 INCLUDE_PATHS += \ 29 INCLUDE_PATHS += \
57 -I$(OPENQ_ROOT) \ 30 -I$(OPENQ_ROOT) \
58 -I$(GTK_TOP)/include \ 31 -I$(GTK_TOP)/include \
59 -I$(GTK_TOP)/include/glib-2.0 \ 32 -I$(GTK_TOP)/include/glib-2.0 \
60 -I$(GTK_TOP)/lib/glib-2.0/include \ 33 -I$(GTK_TOP)/lib/glib-2.0/include \
61 -I$(LIBGAIM_TOP) \ 34 -I$(GAIM_LIB_TOP) \
62 -I$(LIBGAIM_TOP)/win32 \ 35 -I$(GAIM_LIB_TOP)/win32 \
63 -I$(GAIM_TOP) 36 -I$(GAIM_TOP)
64 37
65 LIB_PATHS = \ 38 LIB_PATHS = \
66 -L$(GTK_TOP)/lib \ 39 -L$(GTK_TOP)/lib \
67 -L$(LIBGAIM_TOP) 40 -L$(GAIM_LIB_TOP)
68 41
69 ## 42 ##
70 ## SOURCES, OBJECTS 43 ## SOURCES, OBJECTS
71 ## 44 ##
72
73 C_SRC = \ 45 C_SRC = \
74 buddy_info.c \ 46 buddy_info.c \
75 buddy_list.c \ 47 buddy_list.c \
76 buddy_opt.c \ 48 buddy_opt.c \
77 buddy_status.c \ 49 buddy_status.c \
109 OBJECTS = $(C_SRC:%.c=%.o) 81 OBJECTS = $(C_SRC:%.c=%.o)
110 82
111 ## 83 ##
112 ## LIBRARIES 84 ## LIBRARIES
113 ## 85 ##
114
115 LIBS = \ 86 LIBS = \
116 -lglib-2.0 \ 87 -lglib-2.0 \
117 -lws2_32 \ 88 -lws2_32 \
118 -lintl \ 89 -lintl \
119 -lgaim 90 -lgaim
120 91
121 ## 92 include $(GAIM_COMMON_RULES)
122 ## RULES
123 ##
124
125 # How to make a C file
126
127 %.o: %.c
128 $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<
129 93
130 ## 94 ##
131 ## TARGET DEFINITIONS 95 ## TARGET DEFINITIONS
132 ## 96 ##
133
134 .PHONY: all clean 97 .PHONY: all clean
135 98
136 all: $(TARGET).dll 99 all: $(TARGET).dll
137 100
138 install: 101 install: all $(DLL_INSTALL_DIR)
139 mkdir -p $(DLL_INSTALL_DIR) 102 cp $(TARGET).dll $(DLL_INSTALL_DIR)
140 cp $(OPENQ_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR)
141 103
104 $(OBJECTS): $(GAIM_CONFIG_H)
142 105
143 ## 106 $(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(OBJECTS)
144 ## BUILD Dependencies
145 ##
146
147 $(LIBGAIM_TOP)/libgaim.dll.a:
148 $(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a
149
150 ##
151 ## BUILD DLL
152 ##
153
154 $(TARGET).dll: $(OBJECTS) $(LIBGAIM_TOP)/libgaim.dll.a
155 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll 107 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll
156 108
157 ## 109 ##
158 ## CLEAN RULES 110 ## CLEAN RULES
159 ## 111 ##
160
161 clean: 112 clean:
162 rm -rf *.o 113 rm -rf $(OBJECTS)
163 rm -rf $(TARGET).dll 114 rm -rf $(TARGET).dll
164 115
116 include $(GAIM_COMMON_TARGETS)