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
99
100
101
102
103
|
# Copyright (C) 2005-2009 Junjiro Okajima
#
# This program, aufs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
ifndef KDIR
KDIR = /lib/modules/$(shell uname -r)/build
endif
CFLAGS += -I${KDIR}/include
CFLAGS += -O -Wall
Cmd = umount.aufs auchk aubrsync
Man = aufs.5
Etc = etc_default_aufs
Bin = auplink mount.aufs #auctl
BinObj = $(addsuffix .o, ${Bin})
LibSo = libau.so
LibSoObj = rdu.o
LibSoHdr = compat.h
LibUtil = libautil.a
LibUtilObj = proc_mnt.o br.o plink.o mtab.o
LibUtilHdr = au_util.h
all: ${Man} ${Bin} ${Etc} #${LibSo}
${Bin}: LDFLAGS += -static -s
${Bin}: LDLIBS = -L. -lautil
${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil}
${LibUtilObj}: %.o: %.c ${LibUtilHdr}
${LibUtil}: ${LibUtil}(${LibUtilObj})
${LibSoObj}: CFLAGS += -fPIC
${LibSoObj}: %.o: %.c ${LibSolHdr}
# in order to reuse the default rule
Dummy = $(basename $(word 1,${LibSoObj}))
${Dummy}: LDFLAGS += --shared
${Dummy}: LDLIBS += -ldl -lpthread
${Dummy}: ${LibSoObj}
${LibSo}: ${Dummy}
ln -f $< $@
etc_default_aufs: c2sh aufs.shlib
${RM} $@
echo '# aufs variables for shell scripts' > $@
./c2sh >> $@
echo >> $@
sed -e '0,/^$$/d' aufs.shlib >> $@
aufs.5: aufs.in.5 c2tmac
${RM} $@
./c2tmac > $@
awk '{ \
gsub(/\140[^\047]*\047/, "\\[oq]&\\[cq]"); \
gsub(/\\\[oq\]\140/, "\\[oq]"); \
gsub(/\047\\\[cq\]/, "\\[cq]"); \
gsub(/\047/, "\\[aq]"); \
print; \
}' aufs.in.5 >> $@
chmod a-w $@
.INTERMEDIATE: c2sh c2tmac
install_sbin: File = mount.aufs umount.aufs auplink
install_sbin: Tgt = ${DESTDIR}/sbin
install_ubin: File = auchk aubrsync #auctl
install_ubin: Tgt = ${DESTDIR}/usr/bin
install_man: File = aufs.5
install_man: Tgt = ${DESTDIR}/usr/share/man/man5
install_ulib: Opt = -s
install_ulib: File = ${LibSo}
install_ulib: Tgt = ${DESTDIR}/ulib
install_sbin install_ubin install_man install_ulib: ${File}
install -d ${Tgt}
install -m 755 -o root -g root -p ${Opt} ${File} ${Tgt}
install_etc: File = etc_default_aufs
install_etc: Tgt = ${DESTDIR}/etc/default/aufs
install_etc: ${File}
install -d $(dir ${Tgt})
install -m 644 -o root -g root -p -T ${File} ${Tgt}
# do not inlcude install_ulib here
install: install_man install_sbin install_ubin install_etc
clean:
${RM} ${Man} ${Bin} ${Etc} ${LibUtil} ${LibSo} *~
${RM} ${BinObj} ${LibUtilObj} ${LibSoObj} ${Dummy}
-include priv.mk
|