bd504f526253c93fc859fbb5db97b75212777f72
[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 .matrix/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 # __matrix_build is defined in the included build style
64 build_matrix_component: 
65 ifdef MATRIX_VERBOSE
66         @$(MAKE) $(MATRIX_MAK_DEBUG) -f $(MATRIX_SCRIPTDIR)/matrix.mak __matrix_build
67 else
68         @$(MAKE) $(MATRIX_MAK_DEBUG) -f $(MATRIX_SCRIPTDIR)/matrix.mak __matrix_build > meta/build.log 2>&1
69 endif
70
71
72 matrix_mak_debug:
73         @echo MATRIX_TOPDIR=$(MATRIX_TOPDIR)
74         @echo MATRIX_SCRIPTDIR=$(MATRIX_SCRIPTDIR)
75         @echo MATRIX_COMPONENT=$(MATRIX_COMPONENT)
76         @echo MATRIX_COMPONENT_TAG=$(MATRIX_COMPONENT_TAG)