Fix imports in vlmc tool
[archipelago] / xseg / base.mk
1 # Copyright 2012 GRNET S.A. All rights reserved.
2 #
3 # Redistribution and use in source and binary forms, with or
4 # without modification, are permitted provided that the following
5 # conditions are met:
6 #
7 #   1. Redistributions of source code must retain the above
8 #      copyright notice, this list of conditions and the following
9 #      disclaimer.
10 #   2. Redistributions in binary form must reproduce the above
11 #      copyright notice, this list of conditions and the following
12 #      disclaimer in the documentation and/or other materials
13 #      provided with the distribution.
14 #
15 # THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
16 # OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 # WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
19 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
21 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
22 # USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
23 # AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
25 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 # POSSIBILITY OF SUCH DAMAGE.
27 #
28 # The views and conclusions contained in the software and
29 # documentation are those of the authors and should not be
30 # interpreted as representing official policies, either expressed
31 # or implied, of GRNET S.A.
32 #
33
34 # Setup for xseg Makefiles.
35
36 ifndef TARGET
37 TARGET:=$(shell basename $(shell pwd))
38 endif
39
40 export CC=gcc
41 ifndef MOPTS
42 export MOPTS=
43 endif
44 ifndef COPTS
45 export COPTS=-O2 -g -finline-functions $(MOPTS) $(DEBUG)
46 endif
47 ifndef CSTD
48 export CSTD=-std=gnu99 -pedantic
49 endif
50
51
52 bindir=/usr/bin/
53 libdir=/usr/lib/
54 pythondir=/usr/lib/python2.7/
55 moduledir=/lib/modules/`uname -r`/extra/
56 srcdir=/usr/src/archipelago-kernel-dkms-VERSION/
57 ganetidir=/usr/share/ganeti/extstorage/vlmc/
58
59 INC=-I$(BASE)
60 INC+=-I$(BASE)/peers/$(TARGET)
61 INC+=-I$(BASE)/sys/$(TARGET)
62 INC+=-I$(BASE)/drivers/$(TARGET)
63 export INC
64
65 export LIB=$(BASE)/lib/$(TARGET)
66 export CFLAGS=-Wall $(COPTS) $(CSTD)
67
68 #ifeq (,$(XSEG_HOME))
69 #export XSEG_HOME=$(shell ${XSEG_HOME})
70 #endif
71
72 ifeq (,$(XSEG_HOME))
73 export XSEG_HOME=$(CURDIR)
74 endif
75
76 CONFIG=./config.mk
77
78 #default:
79
80 #.PHONY: clean-config
81
82 #clean: clean-config
83
84 #clean-config:
85 #       rm -f $(CONFIG)
86
87 ifndef BASE
88 exists=$(shell [ -f "$(CONFIG)" ] && echo exists)
89 ifeq (exists,$(exists))
90 include $(CONFIG)
91 else
92 $(shell $(XSEG_HOME)/envsetup show | sed -e 's/"//g' > "$(CONFIG)")
93 include $(CONFIG)
94 endif
95
96 ifeq (,$(XSEG_DOMAIN_TARGETS))
97 export XSEG_DOMAIN_TARGETS=$(shell $(XSEG_HOME)/tools/xseg-domain-targets | sed -e 's/^[^=]*=//;s/"//g')
98 endif
99 export BASE=$(XSEG_HOME)
100 endif