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 104 105 106
|
# Copyright (C) 2005-2010 Junjiro R. 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
ifneq "t" "$(shell test -e ${KDIR}/include/linux/stddef.h && echo t)"
$(error incorrect KDIR)
endif
ifndef ARCH
ARCH := $(shell uname -m)
endif
ARCH := $(shell echo ${ARCH} | sed -e 's/_64$$//')
ArchDir = ${KDIR}/arch/${ARCH}/include
CFLAGS += -I${KDIR}/include -I./libau
CFLAGS += $(shell test -d ${ArchDir} && echo -I${ArchDir})
CFLAGS += -O -Wall
Cmd = umount.aufs auchk aubrsync
Man = aufs.5
Etc = etc_default_aufs
Bin = auplink mount.aufs #auctl
BinObj = $(addsuffix .o, ${Bin})
LibUtil = libautil.a
LibUtilObj = proc_mnt.o br.o plink.o mtab.o
LibUtilHdr = au_util.h
export
all: ${Man} ${Bin} ${Etc}
${MAKE} -C libau $@
ln -sf ./libau/libau*.so .
${Bin}: LDFLAGS += -static -s
${Bin}: LDLIBS = -L. -lautil
${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil}
${LibUtilObj}: %.o: %.c ${LibUtilHdr}
${LibUtil}: ${LibUtil}(${LibUtilObj})
.NOTPARALLEL: ${LibUtil}
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 = install -o root -g root -p
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_sbin install_ubin: ${File}
install -d ${Tgt}
${Install} -m 755 ${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 -T ${File} ${Tgt}
install_man: File = aufs.5
install_man: Tgt = ${DESTDIR}/usr/share/man/man5
install_man: ${File}
install -d ${Tgt}
${Install} -m 644 ${File} ${Tgt}
install_ulib:
${MAKE} -C libau $@
install: install_man install_sbin install_ubin install_etc install_ulib
clean:
${RM} ${Man} ${Bin} ${Etc} ${LibUtil} libau.so* *~
${RM} ${BinObj} ${LibUtilObj}
${MAKE} -C libau $@
-include priv.mk
|