root / xseg / base.mk @ 8c732208
History | View | Annotate | Download (3 kB)
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 |
export TOPDIR=$(shell dirname $(CURDIR)) |
52 |
ifeq (,$(VERSION)) |
53 |
export VERSION=$(shell cat $(TOPDIR)/version) |
54 |
endif |
55 |
|
56 |
ifeq (,$(DESTDIR)) |
57 |
export DESTDIR=/ |
58 |
endif |
59 |
|
60 |
ifeq (,$(KVER)) |
61 |
export KVER=$(shell uname -r) |
62 |
endif |
63 |
|
64 |
|
65 |
bindir=/usr/bin/ |
66 |
libdir=/usr/lib/ |
67 |
pythondir=/usr/lib/python2.7/ |
68 |
moduledir=/lib/modules/$(KVER)/extra/ |
69 |
srcdir=/usr/src/archipelago-modules-dkms-$(VERSION)/xseg/ |
70 |
ganetidir=/usr/share/ganeti/extstorage/archipelago/ |
71 |
ganetihooksdir=/etc/ganeti/hooks/ |
72 |
|
73 |
INC=-I$(BASE) |
74 |
INC+=-I$(BASE)/peers/$(TARGET) |
75 |
INC+=-I$(BASE)/sys/$(TARGET) |
76 |
INC+=-I$(BASE)/drivers/$(TARGET) |
77 |
export INC |
78 |
|
79 |
export LIB=$(BASE)/lib/$(TARGET) |
80 |
export CFLAGS=-Wall $(COPTS) $(CSTD) |
81 |
|
82 |
#ifeq (,$(XSEG_HOME)) |
83 |
#export XSEG_HOME=$(shell ${XSEG_HOME}) |
84 |
#endif |
85 |
|
86 |
ifeq (,$(XSEG_HOME)) |
87 |
export XSEG_HOME=$(CURDIR) |
88 |
endif |
89 |
|
90 |
CONFIG=./config.mk |
91 |
|
92 |
#default: |
93 |
|
94 |
#.PHONY: clean-config |
95 |
|
96 |
#clean: clean-config |
97 |
|
98 |
#clean-config: |
99 |
# rm -f $(CONFIG) |
100 |
|
101 |
ifndef BASE |
102 |
exists=$(shell [ -f "$(CONFIG)" ] && echo exists) |
103 |
ifeq (exists,$(exists)) |
104 |
include $(CONFIG) |
105 |
else |
106 |
$(shell $(XSEG_HOME)/envsetup show | sed -e 's/"//g' > "$(CONFIG)") |
107 |
include $(CONFIG) |
108 |
endif |
109 |
|
110 |
ifeq (,$(XSEG_DOMAIN_TARGETS)) |
111 |
export XSEG_DOMAIN_TARGETS=$(shell $(XSEG_HOME)/tools/xseg-domain-targets | sed -e 's/^[^=]*=//;s/"//g') |
112 |
endif |
113 |
export BASE=$(XSEG_HOME) |
114 |
endif |