root / xseg / sys / kernel / Makefile @ 3b145fa0
History | View | Annotate | Download (3.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 |
.PHONY: clean default install install-src |
35 |
|
36 |
include $(XSEG_HOME)/base.mk |
37 |
|
38 |
ifeq (,$(KVER)) |
39 |
KVER := $(shell uname -r) |
40 |
endif |
41 |
|
42 |
FILES="Makefile" |
43 |
FILES+=$(shell ls *.h) |
44 |
FILES+=$(shell ls *.c) |
45 |
|
46 |
SUBDIR:=$(subst $(XSEG_HOME),,$(CURDIR)) |
47 |
|
48 |
KDIR := /lib/modules/$(KVER)/build |
49 |
PWD := $(shell pwd) |
50 |
EXTRA_CFLAGS += -g -I$(BASE) -I$(BASE)/sys/kernel -DVAL_OVERLOAD |
51 |
LIBDIR=$(BASE)/lib/kernel |
52 |
|
53 |
xseg-objs := xsegmod.o xq.k.o xpool.k.o xhash.k.o xheap.k.o xobj.k.o xseg.k.o xworkq.k.o xwaitq.k.o xcache.k.o |
54 |
obj-m += xseg.o segdev.o |
55 |
|
56 |
default: xq.k.c xpool.k.c xhash.k.c xheap.k.c xobj.k.c xworkq.k.c xwaitq.k.c xcache.k.c xseg.k.c |
57 |
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) V=$(V) modules |
58 |
cp -vaf xseg.ko segdev.ko $(LIBDIR) |
59 |
|
60 |
xq.k.c: $(BASE)/xtypes/xq.c $(BASE)/xtypes/xq.h |
61 |
ln -sf $< $@ |
62 |
|
63 |
xpool.k.c: $(BASE)/xtypes/xpool.c $(BASE)/xtypes/xpool.h |
64 |
ln -sf $< $@ |
65 |
|
66 |
xhash.k.c: $(BASE)/xtypes/xhash.c $(BASE)/xtypes/xhash.h |
67 |
ln -sf $< $@ |
68 |
|
69 |
xheap.k.c: $(BASE)/xtypes/xheap.c $(BASE)/xtypes/xheap.h |
70 |
ln -sf $< $@ |
71 |
|
72 |
xobj.k.c: $(BASE)/xtypes/xobj.c $(BASE)/xtypes/xobj.h |
73 |
ln -sf $< $@ |
74 |
|
75 |
xworkq.k.c: $(BASE)/xtypes/xworkq.c $(BASE)/xtypes/xworkq.h |
76 |
ln -sf $< $@ |
77 |
|
78 |
xwaitq.k.c: $(BASE)/xtypes/xwaitq.c $(BASE)/xtypes/xwaitq.h |
79 |
ln -sf $< $@ |
80 |
|
81 |
xcache.k.c: $(BASE)/xtypes/xcache.c $(BASE)/xtypes/xcache.h |
82 |
ln -sf $< $@ |
83 |
|
84 |
xseg.k.c: $(BASE)/xseg/xseg.c $(BASE)/xseg/xseg.h |
85 |
ln -sf $< $@ |
86 |
|
87 |
install: |
88 |
install -d $(DESTDIR)$(moduledir) |
89 |
install -o 0 -g 0 -m 644 -t $(DESTDIR)$(moduledir) xseg.ko |
90 |
install -o 0 -g 0 -m 644 -t $(DESTDIR)$(moduledir) segdev.ko |
91 |
|
92 |
install-src: |
93 |
install -d $(DESTDIR)$(srcdir)$(SUBDIR) |
94 |
@for f in $(FILES); do \ |
95 |
install -o 0 -g 0 -m 644 -t $(DESTDIR)$(srcdir)$(SUBDIR) $$f ; \ |
96 |
done |
97 |
|
98 |
clean: |
99 |
rm -f xq.k.c xpool.k.c xhash.k.c xheap.k.c xobj.k.c xworkq.k.c xwaitq.k.c xcache.k.c xseg.k.c |
100 |
make -C /lib/modules/$(KVER)/build M=$(PWD) V=$(V) clean |