summaryrefslogtreecommitdiff
path: root/src/Makefile.am
blob: 2b93afd94892ca394e6936c958ce15484874ce08 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#
# Makefile.am for telepathy-sofiasip/src
#
# Copyright (C) 2006 Nokia Corporation
# Contact: Kai Vehmanen <first.surname@nokia.com>
# Licensed under LGPL. See file COPYING.
#

# ----------------------------------------------------------------------
# Automake options

managerdir = $(datadir)/telepathy/managers

# ----------------------------------------------------------------------
# Headers and libraries

AM_CFLAGS = $(ERROR_CFLAGS) @DBUS_CFLAGS@ @GLIB_CFLAGS@ @SOFIA_SIP_UA_CFLAGS@ \
	    @TELEPATHY_GLIB_CFLAGS@ @COVERAGE_CFLAGS@ \
	    -I$(top_builddir) -I$(top_srcdir)
ALL_LIBS = @DBUS_LIBS@ @GLIB_LIBS@ @SOFIA_SIP_UA_LIBS@ @TELEPATHY_GLIB_LIBS@

# ----------------------------------------------------------------------
# Build targets

libexec_PROGRAMS = telepathy-sofiasip
manager_DATA = sofiasip.manager
noinst_PROGRAMS = write-mgr-file
noinst_LTLIBRARIES = libtpsip-convenience.la

# ----------------------------------------------------------------------
# Tests

# ----------------------------------------------------------------------
# Rules for building the targets

signals-marshal.c: ${srcdir}/signals-marshal.list
	glib-genmarshal --body --prefix=_tpsip_marshal $< >$@

signals-marshal.h: ${srcdir}/signals-marshal.list
	glib-genmarshal --header --prefix=_tpsip_marshal $< >$@

# rules for makeing the glib enum objects
%-enumtypes.h: %.h
	glib-mkenums \
	--fhead "#ifndef __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__\n#define __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__\n\n#include <glib-object.h>\n\nG_BEGIN_DECLS\n" \
	--fprod "/* enumerations from \"@filename@\" */\n" \
	--vhead "GType @enum_name@_get_type (void);\n#define $(shell echo $* | tr [:lower:]- [:upper:]_ | sed 's/_.*//')_TYPE_@ENUMSHORT@ (@enum_name@_get_type())\n"         \
	--ftail "G_END_DECLS\n\n#endif /* __$(shell echo $* | tr [:lower:]- [:upper:]_)_ENUM_TYPES_H__ */" \
	$< > $@

%-enumtypes.c: %.h
	glib-mkenums \
	--fhead "#include <$*.h>" \
	--fprod "\n/* enumerations from \"@filename@\" */" \
	--vhead "GType\n@enum_name@_get_type (void)\n{\n  static GType etype = 0;\n  if (etype == 0) {\n    static const G@Type@Value values[] = {"     \
	--vprod "      { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \
	--vtail "      { 0, NULL, NULL }\n    };\n    etype = g_@type@_register_static (\"@EnumName@\", values);\n  }\n  return etype;\n}\n" \
	$< > $@

sofiasip.manager: write-mgr-file
	if ./write-mgr-file > $@.tmp; then \
		mv -f $@.tmp $@;\
	else \
		rm -f $@.tmp; \
	fi

BUILT_SOURCES = \
		signals-marshal.h \
		signals-marshal.c \
		sip-connection-enumtypes.h \
		sip-connection-enumtypes.c

libtpsip_convenience_la_SOURCES = \
    sip-sofia-decls.h \
    sip-text-channel.h \
    sip-text-channel.c \
    sip-media-channel.h \
    sip-media-channel.c \
    sip-media-session.h \
    sip-media-session.c \
    sip-media-stream.h \
    sip-media-stream.c \
    sip-connection.h \
    sip-connection.c \
    sip-connection-manager.h \
    sip-connection-manager.c \
    debug.h \
    debug.c \
    media-factory.h \
    media-factory.c \
    text-factory.h \
    text-factory.c \
    sip-connection-helpers.h \
    sip-connection-helpers.c \
    sip-connection-private.h \
    sip-connection-sofia.h \
    sip-connection-sofia.c

nodist_libtpsip_convenience_la_SOURCES = \
    $(BUILT_SOURCES)

libtpsip_convenience_la_LIBADD = \
    $(top_builddir)/extensions/libsip-extensions.la

telepathy_sofiasip_SOURCES = \
    telepathy-sofiasip.c 

telepathy_sofiasip_LDADD = libtpsip-convenience.la $(ALL_LIBS)

write_mgr_file_SOURCES = \
    write-mgr-file.c 

write_mgr_file_LDADD = libtpsip-convenience.la $(ALL_LIBS)

# ----------------------------------------------------------------------
# Install and distribution rules

EXTRA_DIST = signals-marshal.list

# Correctly clean the generated headers, but keep the xml description
CLEANFILES = $(BUILT_SOURCES) $(manager_DATA)