MATRIX_WRAP_*, MATRIX_SB2_* and MATRIX_FAKEROOT variables
[matrix.git] / scripts / styles / autotools.mk
1 # Copyright (C) 2006-2008 Movial Oy
2 # Authors: Lauri Leukkunen
3 #          Kalle Vahlman <kalle.vahlman@movial.fi>
4 #          Timo Savola <tsavola@movial.fi>
5 #
6 # Provides the necessary targets to build a component using
7 # standard autotools in the normal 
8 # autogen.sh + configure + make + make install way.
9
10 __MATRIX_BUILD_STYLE_LOADED=1
11
12 t := $(shell if [ -d /usr/share/aclocal ]; then echo yes; else echo no; fi)
13 ifeq (yes,$(t))
14 ACLOCAL_ARGS := -I /usr/share/aclocal $(ACLOCAL_ARGS)
15 endif
16
17 ACLOCAL := aclocal $(ACLOCAL_ARGS)
18 PKG_CONFIG_PATH := /usr/lib/pkgconfig:/usr/share/pkgconfig:$(PKG_CONFIG_PATH)
19
20 export ACLOCAL PKG_CONFIG_PATH
21
22 has_configure := $(shell if [ -e ./configure ]; then echo "yes"; else echo "no"; fi)
23
24 ifdef no-docs
25 MATRIX_CONFIG_FLAGS += --disable-gtk-doc --disable-xml-docs --disable-doxygen-docs --disable-docbook --disable-docs
26 endif
27
28 ifdef no-examples
29 MATRIX_CONFIG_FLAGS += --disable-demos --disable-examples
30 endif
31
32 ifdef no-tests
33 MATRIX_CONFIG_FLAGS += --disable-tests
34 endif
35
36 ifdef debug
37 MATRIX_CONFIG_FLAGS += --enable-debug
38 else
39 MATRIX_CONFIG_FLAGS += --disable-debug
40 endif
41
42 ifdef quiet
43 MATRIX_CONFIG_FLAGS += --quiet
44 endif
45
46 ifndef MATRIX_CONFIGURE_ARGS
47 MATRIX_CONFIGURE_ARGS = --prefix=/usr --sysconfdir=/etc --localstatedir=/var \
48                         $(MATRIX_CONFIG_FLAGS) \
49                         $(MATRIX_CONFIGURE_EXTRA_ARGS)
50 endif
51
52 __matrix_build: $(MATRIX_PREPARE_TARGET)
53 ifneq ($(has_configure),yes)
54         $(MATRIX_AUTOGEN_ENV) $(MATRIX_WRAP_AUTOGEN) ./autogen.sh $(MATRIX_AUTOGEN_ARGS)
55 endif
56 ifneq ($(MATRIX_OBJ_DIR),)
57         rm -rf $(MATRIX_OBJ_DIR)
58         mkdir -p $(MATRIX_OBJ_DIR)
59         cd $(MATRIX_OBJ_DIR) && $(MATRIX_CONFIGURE_ENV) $(MATRIX_WRAP_CONFIGURE) $(MATRIX_TOPDIR)/src/$(MATRIX_COMPONENT)/configure $(MATRIX_CONFIGURE_ARGS)
60         cd $(MATRIX_OBJ_DIR) && $(MATRIX_BUILD_ENV) $(MATRIX_WRAP_BUILD) $(MAKE) $(MATRIX_BUILD_ARGS)
61 else
62         $(MATRIX_CONFIGURE_ENV) $(MATRIX_WRAP_CONFIGURE) ./configure $(MATRIX_CONFIGURE_ARGS)
63         $(MATRIX_BUILD_ENV) $(MATRIX_WRAP_BUILD) $(MAKE) $(MATRIX_BUILD_ARGS)
64 endif
65
66 # this can't have any requisites as that would trigger a rebuild
67 __matrix_install:
68 ifneq ($(MATRIX_OBJ_DIR),)
69         cd $(MATRIX_OBJ_DIR) && $(MATRIX_INSTALL_ENV) $(MATRIX_WRAP_INSTALL) $(MAKE) install $(MATRIX_INSTALL_ARGS)
70 else
71         $(MATRIX_INSTALL_ENV) $(MATRIX_WRAP_INSTALL) $(MAKE) install $(MATRIX_INSTALL_ARGS)
72 endif
73
74 .PHONY: __matrix_build __matrix_install