Mercurial > pidgin.yaz
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 |