aboutsummaryrefslogtreecommitdiffstats
path: root/src/Makefile.am
blob: da2463f08c7b965d7672cf68d5821c3f63a335fc (plain)
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
CPROTO=cproto
AM_CPPFLAGS = ${LIBE2P_INC} ${LIBEXT2FS_INC} ${LIBCOM_ERR_INC} ${LIBDB_INC}

HSRCS=project.h prototypes.h

noinst_HEADERS=${HSRCS}
bin_PROGRAMS = ext_clone

CSRCS= clone_data.c clone_ea.c clone_extents.c clone_inode.c ea_map.c ext_clone.c stats.c clone_fs.c zap_fs.c zap_inode.c

ext_clone_SOURCES = ${CSRCS} 
ext_clone_LDADD =  ${LIBE2P_LIB} ${LIBEXT2FS_LIB}  ${LIBCOM_ERR_LIB} ${LIBDB_LIB} -lm

AM_CFLAGS=-g -Wall

ext_clone_LDFLAGS = --static

BUILT_SOURCES = 

src.img:
	umount src || true
	mkdir -p src
	rm -f src.img
	truncate -s 128M src.img
	mkfs.ext4 -b 4096 -O 64bit -E stride=16,stripe-width=112 src.img
	mount src.img src
	(cd src && git clone git://git.panaceas.org/tools/sympathy )
	(cd src && truncate -s 8g holey && dd if=/dev/zero of=holey conv=notrunc,nocreat bs=1024k seek=4000 count=1 )
	(cd src && ln holey linky)
	(cd src && touch empty)
	ls -lZR src
	ls -lR src
	umount src
	rmdir src



protos:
	echo > prototypes.h
	${CPROTO} -v ${INCLUDES} ${CSRCS} > prototypes.tmp
	mv -f prototypes.tmp prototypes.h

test: ext_clone src.img 
	umount dst || true
	umount src || true
	truncate -s 256M dst.img
	mkfs.ext4 -F dst.img -b 4096 -O 64bit -E stride=16,stripe-width=96
	ext_clone -s src.img -d dst.img
	e2fsck -f -y dst.img || true
	echo "stat <123>" > cmd
	debugfs  -f cmd src.img > src.txt
	debugfs  -f cmd dst.img > dst.txt
	diff -uN src.txt dst.txt || true
	mkdir -p src
	mkdir -p dst
	mount -o ro src.img src
	mount -o ro dst.img dst
	rsync -varX -n src/ dst/
	umount dst
	umount src
	rmdir src 
	rmdir dst

tidy:
	astyle -A3 -s2 --attach-extern-c -L -c -w -Y -m0 -f -p  -H -U -k3 -xj -xd ${CSRCS} ${HSRCS}