1 # Copyright (C) 2006-2008 Movial Oy
2 # Authors: Lauri Leukkunen
3 # Kalle Vahlman <kalle.vahlman@movial.fi>
5 # Provides the necessary targets to build a component using
6 # standard autotools in the normal
7 # autogen.sh + configure + make + make install way.
9 __MATRIX_BUILD_STYLE_LOADED=1
11 t := $(shell if [ -d /usr/share/aclocal ]; then echo yes; else echo no; fi)
13 ACLOCAL_ARGS := -I /usr/share/aclocal $(ACLOCAL_ARGS)
16 ACLOCAL := aclocal $(ACLOCAL_ARGS)
17 PKG_CONFIG_PATH := /usr/lib/pkgconfig:/usr/share/pkgconfig:$(PKG_CONFIG_PATH)
19 export ACLOCAL PKG_CONFIG_PATH
21 has_configure := $(shell if [ -e ./configure ]; then echo "yes"; else echo "no"; fi)
24 MATRIX_CONFIG_FLAGS += --disable-gtk-doc --disable-xml-docs --disable-doxygen-docs --disable-docbook --disable-docs
28 MATRIX_CONFIG_FLAGS += --disable-demos --disable-examples
32 MATRIX_CONFIG_FLAGS += --disable-tests
36 MATRIX_CONFIG_FLAGS += --enable-debug
38 MATRIX_CONFIG_FLAGS += --disable-debug
41 ifndef MATRIX_CONFIGURE_ARGS
42 MATRIX_CONFIGURE_ARGS = --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
43 $(MATRIX_CONFIG_FLAGS) \
44 $(MATRIX_CONFIGURE_EXTRA_ARGS)
47 ifneq ($(has_configure),yes)
48 MATRIX_AUTOGEN = __autogen
53 __matrix_build: $(MATRIX_PREPARE_TARGET) $(MATRIX_AUTOGEN) __configure __build
54 @echo "[$(MATRIX_COMPONENT)] Build completed"
56 __matrix_install: __install
57 @echo "[$(MATRIX_COMPONENT)] Install completed"
59 __autogen: $(MATRIX_PREPARE_TARGET)
60 @$(MATRIX_AUTOGEN_ENV) ./autogen.sh $(MATRIX_AUTOGEN_ARGS)
62 __configure: $(MATRIX_AUTOGEN)
64 rm -rf $(MATRIX_OBJ_DIR)
65 mkdir -p $(MATRIX_OBJ_DIR)
66 @cd $(MATRIX_OBJ_DIR) && $(MATRIX_CONFIGURE_ENV) $(MATRIX_TOPDIR)/src/$(MATRIX_COMPONENT)/configure --build=$(MATRIX_AUTOTOOLS_BUILD_ARCH) --host=$(MATRIX_AUTOTOOLS_HOST_ARCH) $(MATRIX_CONFIGURE_ARGS)
68 @$(MATRIX_CONFIGURE_ENV) $(CCTOOL_BUILD) ./configure $(MATRIX_CONFIGURE_ARGS)
73 @cd $(MATRIX_OBJ_DIR) && $(MATRIX_BUILD_ENV) $(CCTOOL_BUILD) $(MAKE) $(MATRIX_BUILD_ARGS)
75 @$(MATRIX_BUILD_ENV) $(CCTOOL_BUILD) $(MAKE) $(MATRIX_BUILD_ARGS)
79 # this can't have any requisites as that would trigger a rebuild
83 @cd $(MATRIX_OBJ_DIR) && $(MATRIX_INSTALL_ENV) $(CCTOOL_INSTALL) $(MAKE) install $(MATRIX_INSTALL_ARGS)
85 @$(MATRIX_INSTALL_ENV) $(CCTOOL_INSTALL) $(MAKE) install $(MATRIX_INSTALL_ARGS)