save log in verbose mode
[matrix.git] / scripts / matrix.mak
1 # Copyright (C) 2006-2008 Movial Oy
2 # Authors: Lauri Leukkunen
3 #          Kalle Vahlman <kalle.vahlman@movial.fi>
4 #          Tuomas Kulve <tuomas.kulve@movial.fi>
5 #
6 # This is the interface from Matrix to component's own
7 # build system.  Matrix runs this file like this:
8 # make -f $MATRIX_SCRIPTDIR/matrix.mak \
9 #  -C core/glibc MATRIX_COMPONENT=core/glibc MATRIX_COMPONENT_TAG="2.5" \
10 #  flag1=1 flag2=1 flag3=1 flag4=1 build_matrix_component
11
12 #CCTOOL_INSTALL=sb2 -e
13 #CCTOOL_BUILD=sb2
14
15
16 ifdef MATRIX_DEBUG
17 MATRIX_MAK_DEBUG = matrix_mak_debug
18 else
19 MATRIX_MAK_DEBUG =
20 endif
21
22 include meta/plug
23
24 ifeq ("$(MATRIX_COMPILER_OPTIONS)","")
25
26 ifneq ("$(MATRIX_GCC_OPTIONS)","")
27 MATRIX_COMPILER_OPTIONS = $(MATRIX_GCC_OPTIONS)
28 endif
29
30 ifneq ("$(MATRIX_GCC_MCPU)","")
31 MATRIX_COMPILER_OPTIONS += -mcpu=$(MATRIX_GCC_MCPU)
32 endif
33
34 ifneq ("$(MATRIX_GCC_MFPU)","")
35 MATRIX_COMPILER_OPTIONS += -mfpu=$(MATRIX_GCC_MFPU)
36 endif
37
38 endif
39
40 ifneq ("$(MATRIX_COMPILER_EXTRA_OPTIONS)","")
41 MATRIX_COMPILER_OPTIONS += $(MATRIX_COMPILER_EXTRA_OPTIONS)
42 endif
43
44 SBOX_EXTRA_CROSS_COMPILER_ARGS = -march=$(MATRIX_GCC_MARCH)
45
46 ifneq ("$(MATRIX_COMPILER_OPTIONS)","")
47 SBOX_EXTRA_CROSS_COMPILER_ARGS += $(MATRIX_COMPILER_OPTIONS)
48 endif
49
50 export SBOX_EXTRA_CROSS_COMPILER_ARGS
51
52 ifeq ("$(MATRIX_BUILD_STYLE)", "autotools")
53 include $(MATRIX_SCRIPTDIR)/matrix-autotools.mak
54 endif
55 ifeq ("$(MATRIX_BUILD_STYLE)", "custom")
56 include $(MATRIX_SCRIPTDIR)/matrix-custom.mak
57 endif
58
59 ifndef __MATRIX_BUILD_STYLE_LOADED
60 $(error "MATRIX_BUILD_STYLE not set, valid values are: autotools custom")
61 endif
62
63 ifdef MATRIX_VERBOSE
64 redir   = 2>&1 | tee meta/$(1).log
65 else
66 redir   = > meta/$(1).log 2>&1
67 endif
68
69 # __matrix_build is defined in the included build style
70 build_matrix_component:
71         @$(MAKE) $(MATRIX_MAK_DEBUG) -f $(MATRIX_SCRIPTDIR)/matrix.mak __matrix_build $(call redir,build)
72
73 # __matrix_install is defined in the included build style
74 install_matrix_component:
75         @$(MAKE) $(MATRIX_MAK_DEBUG) -f $(MATRIX_SCRIPTDIR)/matrix.mak __matrix_install $(call redir,install)
76
77
78 matrix_mak_debug:
79         @echo MATRIX_TOPDIR=$(MATRIX_TOPDIR)
80         @echo MATRIX_SCRIPTDIR=$(MATRIX_SCRIPTDIR)
81         @echo MATRIX_COMPONENT=$(MATRIX_COMPONENT)
82         @echo MATRIX_COMPONENT_TAG=$(MATRIX_COMPONENT_TAG)