Statistics
| Branch: | Tag: | Revision:

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