mingw: fixed build
[siplcs.git] / src / core / Makefile.mingw
blob4d1e83ab3b26727b6b756a16300c2eaad608d704
2 # Makefile.mingw
4 # Author: zup@sbox.tugraz.at
5 # Date 8/28/07
6 # Description: Makefile for win32 (mingw) version of libsipe
9 OLD_PIDGIN_TREE_TOP := $(PIDGIN_TREE_TOP)
10 PIDGIN_TREE_TOP := ../$(OLD_PIDGIN_TREE_TOP)
12 include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak
14 TARGET = libsipe
15 TYPE = PLUGIN
17 # dump higher level defines
18 DEFINES =
20 # Static or Plugin...
21 ifeq ($(TYPE),STATIC)
22   DEFINES += -DSTATIC
23   DLL_INSTALL_DIR =     $(PURPLE_INSTALL_DIR)
24 else
25 ifeq ($(TYPE),PLUGIN)
26   DLL_INSTALL_DIR =     $(PURPLE_INSTALL_PLUGINS_DIR)
27 endif
28 endif
30 DEFINES += -DENABLE_NLS=1
31 DEFINES += -DPACKAGE_BUGREPORT=\"https://sourceforge.net/tracker/?atid=949931\&group_id=194563\"
32 DEFINES += -DPACKAGE_NAME=\"pidgin-sipe\"
33 DEFINES += -DPACKAGE_URL=\"http://sipe.sourceforge.net/\"
34 DEFINES += -DPACKAGE_VERSION=\"$(VERSION)\"
35 DEFINES += -DHAVE_LIBKRB5=1
37 ## INCLUDE PATHS
39 INCLUDE_PATHS +=        -I. \
40                         -I../api \
41                         -I../purple \
42                         -I$(GTK_TOP)/include \
43                         -I$(GTK_TOP)/include/glib-2.0 \
44                         -I$(GTK_TOP)/lib/glib-2.0/include \
45                         -I$(LIBXML2_TOP)/include/libxml2 \
46                         -I$(PURPLE_TOP) \
47                         -I$(PURPLE_TOP)/win32 \
48                         -I$(PIDGIN_TREE_TOP)
50 LIB_PATHS +=            -L$(GTK_TOP)/lib \
51                         -L$(LIBXML2_TOP)/lib \
52                         -L$(PURPLE_TOP)
55 ##  SOURCES, OBJECTS
57 C_SRC =                 ../purple/purple-crypt.c \
58                         ../purple/purple-debug.c \
59                         ../purple/purple-digest.c \
60                         ../purple/purple-markup.c \
61                         ../purple/purple-mime.c \
62                         ../purple/purple-network.c \
63                         ../purple/purple-plugin.c \
64                         sipe.c \
65                         sipe-chat.c \
66                         sipe-conf.c \
67                         sipe-dialog.c \
68                         sipe-session.c \
69                         sipe-utils.c \
70                         sipe-cal.c \
71                         http-conn.c \
72                         sipe-ews.c \
73                         sipmsg.c \
74                         sipe-sign.c \
75                         sip-sec.c \
76                         sip-sec-ntlm.c \
77                         sip-sec-sspi.c \
78                         sip-csta.c \
79                         sipe-ft.c \
80                         sipe-xml.c \
81                         uuid.c
82                         
83 C_TEST_SRC =            sipe-xml-tests.c \
84                         sip-sec-ntlm-tests.c \
85                         ../purple/tests.c \
87 OBJECTS =               $(C_SRC:%.c=%.o)
89 TEST_OBJECTS =          $(C_TEST_SRC:%.c=%.o)
92 ## LIBRARIES
94 LIBS =  \
95                         -lglib-2.0 \
96                         -lxml2 \
97                         -lws2_32 \
98                         -lintl \
99                         -lSecur32 \
100                         -lpurple
101         
102 # These flags are used in mingw build   
103 TESTS_WARN = -Werror -Wall -Waggregate-return -Wcast-align -Werror-implicit-function-declaration -Wextra -Wno-sign-compare -Wno-unused-parameter -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wundef
104 #TESTS_WARN += -Wdeclaration-after-statement
106 include $(PIDGIN_COMMON_RULES)
109 ## TARGET DEFINITIONS
111 .PHONY: all clean install
113 all: $(TARGET).dll
115 $(OBJECTS): $(PURPLE_CONFIG_H)
117 $(TARGET).dll: $(PURPLE_DLL).a $(OBJECTS)
118         $(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll
121 ## CLEAN RULES
123 clean: tests-clean
124         rm -f $(OBJECTS)
125         rm -f $(TARGET).dll
126   
127 rmbak:
128         rm -f *~
129         
130 install:
131         test -z "$(DLL_INSTALL_DIR)" || mkdir -p "$(DLL_INSTALL_DIR)"
132         /usr/bin/install -c $(TARGET).dll '$(DLL_INSTALL_DIR)'
133         
134 $(TEST_OBJECTS):
136 tests: tests-clean $(TEST_OBJECTS)
137         $(CC) sipe-utils.o uuid.o sipe-xml.o sipe-xml-tests.o -L. $(LIB_PATHS) $(LIBS) -lsipe -o sipe-xml-tests.exe
138         $(CC) ../purple/purple-debug.o sipe-sign.o sipe-mime.o sipmsg.o sipe-utils.o uuid.o sip-sec-ntlm-tests.o ../purple/tests.o  -L. $(LIB_PATHS) $(LIBS) -lsipe -o ../purple/tests.exe
139         sipe-xml-tests.exe
140         ../purple/tests.exe
141         
142 tests-clean:
143         rm -f $(TEST_OBJECTS)
144         rm -f sipe-xml-tests.exe ../purple/tests.exe
146 include $(PIDGIN_COMMON_TARGETS)