comparison libgaim/plugins/perl/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 ab8a105eff62
children a4542693481d
comparison
equal deleted inserted replaced
14314:8b8188fa98f4 14315:8793fc8f7064
2 # Makefile.mingw 2 # Makefile.mingw
3 # 3 #
4 # Description: Makefile for perl plugin loader plugin. 4 # Description: Makefile for perl plugin loader plugin.
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 GAIM_TOP := ../../..
13 LIBGAIM_TOP := ../..
14 PERL_LIB_DIR := ../../../../win32-dev/perl58
15 PERL_INCLUDE := $(PERL_LIB_DIR)/CORE
16 GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir
17 DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins
18
19 ##
20 ## VARIABLE DEFINITIONS
21 ##
22 9
23 TARGET = perl 10 TARGET = perl
24
25 CC := gcc.exe
26
27 # Compiler Options
28
29 CFLAGS =
30
31 DEFINES =
32
33 ##
34 ## INCLUDE MAKEFILES
35 ##
36
37 include $(LIBGAIM_TOP)/win32/global.mak
38 11
39 # Perl headers with /* /* */ type comments.. Turn off warnings. 12 # Perl headers with /* /* */ type comments.. Turn off warnings.
40 CFLAGS += -Wno-comment 13 CFLAGS += -Wno-comment
41 14
42 ## 15 ##
43 ## INCLUDE PATHS 16 ## INCLUDE PATHS
44 ## 17 ##
45
46 INCLUDE_PATHS += -I. \ 18 INCLUDE_PATHS += -I. \
47 -I$(GAIM_TOP) \ 19 -I$(GAIM_TOP) \
48 -I$(LIBGAIM_TOP) \ 20 -I$(GAIM_LIB_TOP) \
49 -I$(LIBGAIM_TOP)/win32 \ 21 -I$(GAIM_LIB_TOP)/win32 \
22 -I$(GAIM_GTK_TOP) \
23 -I$(GAIM_GTK_TOP)/win32 \
50 -I$(GTK_TOP)/include \ 24 -I$(GTK_TOP)/include \
25 -I$(GTK_TOP)/include/gtk-2.0 \
51 -I$(GTK_TOP)/include/glib-2.0 \ 26 -I$(GTK_TOP)/include/glib-2.0 \
27 -I$(GTK_TOP)/include/pango-1.0 \
28 -I$(GTK_TOP)/include/atk-1.0 \
29 -I$(GTK_TOP)/lib/gtk-2.0/include \
52 -I$(GTK_TOP)/lib/glib-2.0/include \ 30 -I$(GTK_TOP)/lib/glib-2.0/include \
53 -I$(PERL_INCLUDE) 31 -I$(PERL_LIB_TOP)/CORE
54
55
56
57 32
58 LIB_PATHS = -L$(GTK_TOP)/lib \ 33 LIB_PATHS = -L$(GTK_TOP)/lib \
59 -L$(GAIM_TOP)/src \ 34 -L$(GAIM_LIB_TOP) \
60 -L$(PERL_LIB_DIR) 35 -L$(GAIM_GTK_TOP) \
61 36 -L$(PERL_LIB_TOP)
62 37
63 ## 38 ##
64 ## SOURCES, OBJECTS 39 ## SOURCES, OBJECTS
65 ## 40 ##
66
67 C_SRC = perl.c \ 41 C_SRC = perl.c \
68 perl-common.c \ 42 perl-common.c \
69 perl-handlers.c 43 perl-handlers.c
70 44
71
72 OBJECTS = $(C_SRC:%.c=%.o) 45 OBJECTS = $(C_SRC:%.c=%.o)
73
74 46
75 ## 47 ##
76 ## LIBRARIES 48 ## LIBRARIES
77 ## 49 ##
78
79 LIBS = \ 50 LIBS = \
80 -lglib-2.0 \ 51 -lglib-2.0 \
81 -lgmodule-2.0 \ 52 -lgmodule-2.0 \
82 -lgobject-2.0 \ 53 -lgobject-2.0 \
83 -lws2_32 \ 54 -lws2_32 \
84 -lintl \ 55 -lintl \
85 -lgaim \ 56 -lgaim \
57 -lgtkgaim \
86 -lperl58 58 -lperl58
87 59
88 60 include $(GAIM_COMMON_RULES)
89 ##
90 ## RULES
91 ##
92
93 # How to make a C file
94
95 %.o: %.c
96 $(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<
97 61
98 ## 62 ##
99 ## TARGET DEFINITIONS 63 ## TARGET DEFINITIONS
100 ## 64 ##
101
102 .PHONY: all clean 65 .PHONY: all clean
103 66
104 all: $(TARGET).dll 67 all: $(TARGET).dll
105 $(MAKE) -C ./common -f Makefile.mingw 68 $(MAKE) -C ./common -f $(GAIM_WIN32_MAKEFILE)
106 69
107 install: 70 install: all $(GAIM_INSTALL_PLUGINS_DIR)
108 cp $(TARGET).dll $(DLL_INSTALL_DIR) 71 cp $(TARGET).dll $(GAIM_INSTALL_PLUGINS_DIR)
109 $(MAKE) -C ./common -f Makefile.mingw install 72 $(MAKE) -C ./common -f $(GAIM_WIN32_MAKEFILE) install
110 73
111 ## 74 $(OBJECTS): $(GAIM_CONFIG_H)
112 ## BUILD Dependencies
113 ##
114
115 $(GAIM_TOP)/src/libgaim.dll.a:
116 $(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw libgaim.dll.a
117 75
118 ## 76 ##
119 ## BUILD DLL 77 ## BUILD DLL
120 ## 78 ##
121 79 $(TARGET).dll: $(GAIM_LIBGAIM_DLL).a $(GAIM_GTKGAIM_DLL).a $(OBJECTS)
122 $(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/libgaim.dll.a
123 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--export-all-symbols -o $(TARGET).dll 80 $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--export-all-symbols -o $(TARGET).dll
124
125 81
126 ## 82 ##
127 ## CLEAN RULES 83 ## CLEAN RULES
128 ## 84 ##
85 clean:
86 rm -rf $(OBJECTS)
87 rm -rf $(TARGET).dll $(TARGET).lib
88 $(MAKE) -C ./common -f $(GAIM_WIN32_MAKEFILE) clean
129 89
130 clean: 90 include $(GAIM_COMMON_TARGETS)
131 rm -rf *.o
132 rm -rf $(TARGET).dll $(TARGET).lib
133 $(MAKE) -C ./common -f Makefile.mingw clean