matrix-glib-sdk/src/Makefile.am

270 lines
7.1 KiB
Makefile
Raw Normal View History

2016-02-27 15:19:57 +00:00
include $(top_srcdir)/vala-globals.mk
2015-12-10 12:54:15 +00:00
AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Matrix-GLib\"
# Empty variables for elements to be added later
CLEANFILES =
BUILT_SOURCES =
EXTRA_DIST =
2016-02-27 15:19:57 +00:00
AM_VALAFLAGS =
# Name of the public header file
PUBLIC_HEADER = matrix-glib.h
# Libraries to create
2015-12-10 12:54:15 +00:00
lib_LTLIBRARIES = libmatrix-glib-0.0.la
2016-02-27 15:19:57 +00:00
# Vala source files
libmatrix_glib_0_0_la_VALA_SOURCES = \
namespace-info.vala \
2016-02-18 16:29:21 +00:00
matrix-api.vala \
2016-02-28 13:02:44 +00:00
matrix-client.vala \
2016-02-16 16:30:33 +00:00
matrix-http-api.vala \
2016-02-15 15:30:06 +00:00
matrix-http-client.vala \
matrix-event-room-message.vala \
2016-03-07 11:09:06 +00:00
matrix-event-room-topic.vala \
matrix-event-room-aliases.vala \
matrix-event-room-history-visibility.vala \
matrix-event-room-join-rules.vala \
2016-03-07 22:55:58 +00:00
matrix-event-room-name.vala \
matrix-event-room-canonical-alias.vala \
2016-03-08 13:13:02 +00:00
matrix-event-room-create.vala \
matrix-event-room-power-levels.vala \
2016-03-08 16:25:43 +00:00
matrix-event-room-avatar.vala \
matrix-event-room-message-feedback.vala \
matrix-event-room-guest-access.vala \
2016-03-08 20:49:34 +00:00
matrix-event-room-redaction.vala \
matrix-event-room-third-party-invite.vala \
2016-03-09 10:43:53 +00:00
matrix-event-call-base.vala \
2016-03-09 08:26:53 +00:00
matrix-event-call-invite.vala \
matrix-event-call-candidates.vala \
2016-03-09 09:31:26 +00:00
matrix-event-call-answer.vala \
2016-03-09 10:06:03 +00:00
matrix-event-call-hangup.vala \
matrix-message-base.vala \
2016-03-10 14:42:30 +00:00
matrix-message-text.vala \
2016-03-10 16:47:41 +00:00
matrix-message-emote.vala \
2016-03-10 16:48:23 +00:00
matrix-message-notice.vala \
2016-03-10 16:56:37 +00:00
matrix-message-file.vala \
2016-03-10 17:59:41 +00:00
matrix-message-image.vala \
2016-03-10 18:30:01 +00:00
matrix-message-audio.vala \
2016-03-10 18:47:57 +00:00
matrix-message-video.vala \
2016-03-10 19:03:17 +00:00
matrix-message-location.vala \
2016-03-16 16:38:30 +00:00
matrix-room.vala \
2016-02-27 15:19:57 +00:00
$(NULL)
AM_CPPFLAGS += \
-include $(CONFIG_HEADER) \
-I$(top_srcdir) \
-g \
-Wall \
$(GLIB_CFLAGS) \
$(GOBJECT_CFLAGS) \
$(SOUP_CFLAGS) \
$(JSON_CFLAGS) \
$(VALA_CFLAGS) \
$(NULL)
AM_VALAFLAGS += \
--library=Matrix-$(MATRIX_GLIB_API_VERSION) \
$(VALA_PKG_LIST) \
--vapi=Matrix-$(MATRIX_GLIB_API_VERSION).vapi \
-H $(PUBLIC_HEADER) \
-C \
--use-header \
--gir=Matrix-$(MATRIX_GLIB_API_VERSION).gir \
--vapidir=$(top_srcdir)/vapi \
2016-02-27 15:19:57 +00:00
$(NULL)
vala-stamp: $(libmatrix_glib_0_0_la_VALA_SOURCES)
@rm -f vala-temp
@touch vala-temp
$(AM_V_GEN) $(VALAC) $(AM_VALAFLAGS) $^
@mv -f vala-temp $@
CLEANFILES += \
$(PUBLIC_HEADER) \
$(libmatrix_glib_0_0_la_VALA_SOURCES:.vala=.c) \
$(NULL)
$(libmatrix_glib_0_0_la_VALA_SOURCES:.vala=.c): vala-stamp
@if test -f $@; then :; else \
trap 'rm -rf vala-lock vala-stamp' 1 2 13 15; \
if mkdir vala-lock 2> /dev/null; then \
rm -f vala-stamp; \
$(MAKE) $(AM_MAKEFLAGS) vala-stamp; \
rmdir vala-lock; \
else \
while test -d vala-lock; do sleep 1; done; \
test -f vala-stamp; exit $$?; \
fi \
fi
# Binaries to create
2016-01-22 11:29:10 +00:00
bin_PROGRAMS = test-api-client test-client
2015-12-10 12:54:15 +00:00
INST_H_SRC_FILES = \
2017-11-03 12:32:38 +00:00
matrix-types.h \
matrix-compacts.h \
2017-11-13 08:47:24 +00:00
matrix-event-base.h \
2017-11-13 12:10:57 +00:00
matrix-event-room-base.h \
2017-11-13 13:55:16 +00:00
matrix-event-state-base.h \
2017-11-13 14:31:19 +00:00
matrix-event-tag.h \
2017-11-14 07:35:00 +00:00
matrix-event-presence.h \
2017-11-14 10:18:19 +00:00
matrix-event-room-member.h \
2017-11-14 11:59:36 +00:00
matrix-event-typing.h \
2017-11-14 16:52:07 +00:00
matrix-event-receipt.h \
2017-11-03 05:49:07 +00:00
utils.h \
2017-11-03 13:57:19 +00:00
matrix-profile.h \
2015-12-10 12:54:15 +00:00
$(NULL)
2015-12-15 10:58:18 +00:00
INST_H_BUILT_FILES = \
matrix-version.h \
2017-11-02 07:29:46 +00:00
matrix-enumtypes.h \
2016-01-27 18:35:19 +00:00
matrix-marshalers.h \
$(NULL)
2015-12-10 12:54:15 +00:00
2017-11-02 07:29:46 +00:00
matrix_enum_headers = \
2017-11-03 12:32:38 +00:00
matrix-types.h \
2017-11-02 07:29:46 +00:00
$(NULL)
2015-12-10 12:54:15 +00:00
libmatrix_glib_0_0_la_SOURCES = \
$(INST_H_BUILT_FILES) \
2016-01-27 18:35:19 +00:00
matrix-marshalers.c \
2016-02-27 15:19:57 +00:00
$(libmatrix_glib_0_0_la_VALA_SOURCES:.vala=.c) \
2016-01-27 18:35:19 +00:00
matrix-event-types.c \
2015-12-10 12:54:15 +00:00
matrix-version.c \
2017-11-03 12:32:38 +00:00
matrix-types.c \
matrix-compacts.c \
2017-11-13 08:47:24 +00:00
matrix-event-base.c \
2017-11-13 14:31:19 +00:00
matrix-event-tag.c \
2017-11-14 07:35:00 +00:00
matrix-event-presence.c \
2017-11-14 10:18:19 +00:00
matrix-event-room-member.c \
2017-11-14 11:59:36 +00:00
matrix-event-typing.c \
2017-11-13 12:10:57 +00:00
matrix-event-room-base.c \
2017-11-13 13:55:16 +00:00
matrix-event-state-base.c \
2017-11-14 16:52:07 +00:00
matrix-event-receipt.c \
2017-11-03 13:57:19 +00:00
matrix-profile.c \
2017-11-03 05:49:07 +00:00
utils.c \
2017-11-02 07:29:46 +00:00
matrix-enumtypes.c \
2015-12-10 12:54:15 +00:00
$(INST_H_SRC_FILES) \
$(NULL)
libmatrix_glib_0_0_la_CFLAGS = \
$(GLIB_CFLAGS) \
$(GOBJECT_CFLAGS) \
$(SOUP_CFLAGS) \
$(JSON_CFLAGS) \
$(NULL)
libmatrix_glib_0_0_la_LIBADD = \
$(GLIB_LIBS) \
$(GOBJECT_LIBS) \
$(SOUP_LIBS) \
$(JSON_LIBS) \
$(NULL)
2015-12-10 12:54:15 +00:00
libmatrix_glib_0_0_la_LDFLAGS = \
-version-info "$(LT_CURRENT)":"$(LT_REVISION)":"$(LT_AGE)"
2016-02-27 15:19:57 +00:00
$(PUBLIC_HEADER): vala-stamp
Matrix-0.0.vapi: libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la
vapidir = $(datadir)/vala/vapi
dist_vapi_DATA = \
Matrix-$(MATRIX_GLIB_API_VERSION).vapi \
Matrix-$(MATRIX_GLIB_API_VERSION).deps \
$(NULL)
BUILT_SOURCES += \
2017-11-02 07:29:46 +00:00
matrix-enumtypes.c \
matrix-enumtypes.h \
2016-01-27 18:35:19 +00:00
matrix-marshalers.c \
matrix-marshalers.h \
$(NULL)
2015-12-15 10:58:18 +00:00
test_api_client_SOURCES = test-api-client.c
2016-02-27 15:19:57 +00:00
test_api_client_CFLAGS = $(libmatrix_glib_0_0_la_CFLAGS) $(AM_CFLAGS)
test_api_client_LDADD = \
$(libmatrix_glib_0_0_la_LIBADD) \
libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la \
$(NULL)
2015-12-14 15:29:22 +00:00
2016-01-22 11:29:10 +00:00
test_client_SOURCES = test-client.c
test_client_CFLAGS = $(libmatrix_glib_0_0_la_CFLAGS) $(AM_CFLAGS)
test_client_LDADD = \
$(libmatrix_glib_0_0_la_LIBADD) \
libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la \
$(NULL)
CLEANFILES += $(BUILT_SOURCES)
EXTRA_DIST += \
2017-11-02 07:29:46 +00:00
matrix-enumtypes.h.template \
matrix-enumtypes.c.template \
2016-01-27 18:35:19 +00:00
matrix-marshalers.list \
2015-12-15 10:58:18 +00:00
$(INST_H_SRC_FILES) \
$(NULL)
2017-11-02 07:29:46 +00:00
matrix-enumtypes.h: $(matrix_enum_headers) matrix-enumtypes.h.template
$(AM_V_GEN) $(GLIB_MKENUMS) --template $(filter %.template,$^) \
$(filter-out %.template,$^) > $@.tmp \
&& mv $@.tmp $@
matrix-enumtypes.c: $(matrix_enum_headers) matrix-enumtypes.h matrix-enumtypes.c.template
$(AM_V_GEN) $(GLIB_MKENUMS) --template $(filter %.template,$^) \
$(filter-out %.template,$^) > $@.tmp \
&& mv $@.tmp $@
2016-01-27 18:35:19 +00:00
matrix-marshalers.h: stamp-matrix-marshalers
@true
stamp-matrix-marshalers: matrix-marshalers.list
$(AM_V_GEN) $(GLIB_GENMARSHAL) --prefix=_matrix_marshal \
$(srcdir)/matrix-marshalers.list \
--header \
--valist-marshallers >> xgen-gmlh \
&& (cmp -s xgen-gmlh matrix-marshalers.h \
|| cp xgen-gmlh matrix-marshalers.h) \
&& rm -f xgen-gmlh \
&& echo timestamp > $(@F)
matrix-marshalers.c: matrix-marshalers.h
$(AM_V_GEN) (echo "#include \"matrix-marshalers.h\""; \
echo "#undef G_ENABLE_DEBUG"; \
$(GLIB_GENMARSHAL) --prefix=_matrix_marshal \
$(srcdir)/matrix-marshalers.list \
--body \
--valist-marshallers) >> xgen-gmlc \
&& cp xgen-gmlc matrix-marshalers.c \
&& rm -f xgen-gmlc
CLEANFILES += stamp-matrix-marshalers
limtatrix_glib_dlname = \
`$(SED) -nE "s/^dlname='([A-Za-z0-9.+-]+)'/\1/p" libmatrix-glib-0.0.la`¬
INTROSPECTION_GIRS = Matrix-$(MATRIX_GLIB_API_VERSION).gir
INTROSPECTION_COMPILER_ARGS = --includedir=. $(libmatrix_glib_dlname)
Matrix-0.0.gir: libmatrix-glib-$(MATRIX_GLIB_API_VERSION).la
Matrix-0.0.typelib: $(INTROSPECTION_GIRS)
$(INTROSPECTION_COMPILER) $(INTROSPECTION_COMPILER_ARGS) $< -o $@
girdir = $(INTROSPECTION_GIRDIR)
gir_DATA = $(INTROSPECTION_GIRS)
typelibdir = $(INTROSPECTION_TYPELIBDIR)
typelib_DATA = Matrix-$(MATRIX_GLIB_API_VERSION).typelib
CLEANFILES += $(gir_DATA) $(typelibs_DATA)
2015-12-10 12:54:15 +00:00
headerdir = $(includedir)/matrix-glib-$(MATRIX_GLIB_API_VERSION)
2015-12-10 12:54:15 +00:00
header_DATA = \
2016-02-27 15:19:57 +00:00
$(PUBLIC_HEADER) \
2015-12-10 12:54:15 +00:00
$(INST_H_SRC_FILES) \
$(INST_H_BUILT_FILES) \
$(NULL)
2016-03-10 14:39:59 +00:00
pkgconfig_in = matrix-glib-$(MATRIX_GLIB_API_VERSION).pc.in
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = $(pkgconfig_in:.in=)
EXTRA_DIST += $(pkgconfig_in)