1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
#
# Patch managed by http://www.holgerschurig.de/patcher.html
#
--- unionfs-1.0.7/Makefile~make.patch
+++ unionfs-1.0.7/Makefile
@@ -3,10 +3,20 @@
#
# this should point to where your kernel headers are
-LINUXSRC = /lib/modules/`uname -r`/build
+KERNELVER := $(shell uname -r)
+KERNELMAJVER := $(shell echo ${KERNELVER} | cut -d. -f1,2)
+LINUXSRC = /lib/modules/${KERNELVER}/build
TOPINC = -I${LINUXSRC}/include
+
# This is where the make install target will put stuff
-PREFIX = /usr/local
+DESTDIR =
+prefix = /usr/local
+sbindir = ${prefix}/sbin
+mandir = ${prefix}/man
+man4dir = ${mandir}/man4
+man8dir = ${mandir}/man8
+moduledir = /lib/modules/${KERNELVER}
+
VERSION = 1.0.7
TAROPTS = czvf
@@ -22,8 +32,8 @@
endif
CC = gcc
-KERNELVERSION=$(shell uname -r | cut -d. -f1,2)
-ifeq ($(KERNELVERSION),2.4)
+LD = ld
+ifeq (${KERNELMAJVER},2.4)
CFLAGS = -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Wno-unused-label -Werror -g ${EXTRACFLAGS} -O2
endif
EXTRA_CFLAGS += -D__KERNEL__ -DMODULE -DFISTGEN -I. ${TOPINC} -Wall -Werror -g ${EXTRACFLAGS} -O2
@@ -35,7 +45,7 @@
BINS := unionctl uniondbg
-all: readthereadme unionfs$(KERNELVERSION)
+all: readthereadme unionfs$(KERNELMAJVER)
readthereadme:
@echo "******************************************************************************"
@@ -43,13 +53,15 @@
@echo "******************************************************************************"
@echo ""
-unionfs2.6: ${BINS}
+unionfs2.6: unionfs.ko ${BINS}
+
+unionfs.ko:
make -C ${LINUXSRC} SUBDIRS=$(PWD) FISTDEVMK=$(PWD)/fistdev.mk modules
unionfs2.4: ${obj-m} ${BINS}
${obj-m}: ${unionfs-objs}
- ld -o ${obj-m} -r ${unionfs-objs}
+ ${LD} -o ${obj-m} -r ${unionfs-objs}
unionctl: unionctl.c
${CC} -o $@ $? ${UCFLAGS}
@@ -74,15 +86,20 @@
${unionfs-objs}: unionfs.h fist.h
install: all
- mkdir -p ${PREFIX}/sbin
- cp unionctl ${PREFIX}/sbin
- cp uniondbg ${PREFIX}/sbin
- mkdir -p ${PREFIX}/man/man4
- mkdir -p ${PREFIX}/man/man8
- cp man/unionfs.4 ${PREFIX}/man/man4
- cp man/unionctl.8 ${PREFIX}/man/man8
- cp man/uniondbg.8 ${PREFIX}/man/man8
- if [ -f unionfs.ko ] ; then cp unionfs.ko /lib/modules/`uname -r`/kernel/fs ; else cp unionfs.o /lib/modules/`uname -r`/kernel/fs ; fi
+ mkdir -p ${DESTDIR}${sbindir}
+ cp unionctl ${DESTDIR}${sbindir}
+ cp uniondbg ${DESTDIR}${sbindir}
+ mkdir -p ${DESTDIR}${man4dir}
+ mkdir -p ${DESTDIR}${man8dir}
+ cp man/unionfs.4 ${DESTDIR}${man4dir}
+ cp man/unionctl.8 ${DESTDIR}${man8dir}
+ cp man/uniondbg.8 ${DESTDIR}${man8dir}
+ mkdir -p ${DESTDIR}${moduledir}/kernel/fs
+ifeq (${KERNELMAJVER},2.4)
+ cp unionfs.o ${DESTDIR}${moduledir}/kernel/fs
+else
+ cp unionfs.ko ${DESTDIR}${moduledir}/kernel/fs
+endif
release: unionfs-${VERSION}.tar.gz
|