summaryrefslogtreecommitdiff
path: root/Makefile
blob: 2ca356f295d72ed02bdc0b4becc6862eeef4fd59 (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
CC=gcc
CFLAGS = -O2 -g -Wall -fno-strict-aliasing -Werror
headers = radix-tree.h ctree.h disk-io.h kerncompat.h print-tree.h list.h \
	  transaction.h ioctl.h
objects = ctree.o disk-io.o radix-tree.o extent-tree.o print-tree.o \
	  root-tree.o dir-item.o hash.o file-item.o inode-item.o \
	  inode-map.o \
#
# if you don't have sparse installed, use ls instead
CHECKFLAGS=-D__linux__ -Dlinux -D__STDC__ -Dunix -D__unix__ -Wbitwise \
		-Wuninitialized -Wshadow -Wundef
check=sparse $(CHECKFLAGS)
#check=ls

.c.o:
	$(check) $<
	$(CC) $(CFLAGS) -c $<

all: tester debug-tree quick-test dir-test mkfs.btrfs \
	btrfsctl btrfsck

btrfsctl: ioctl.h btrfsctl.o $(headers)
	gcc $(CFLAGS) -o btrfsctl btrfsctl.o

btrfsck: btrfsck.o $(headers) bit-radix.o
	gcc $(CFLAGS) -o btrfsck btrfsck.o $(objects) bit-radix.o

mkfs.btrfs: $(objects) mkfs.o $(headers)
	gcc $(CFLAGS) -o mkfs.btrfs $(objects) mkfs.o -luuid

bit-radix-test: $(objects) bit-radix.o $(headers)
	gcc $(CFLAGS) -o bit-radix-test $(objects) bit-radix.o

debug-tree: $(objects) debug-tree.o $(headers)
	gcc $(CFLAGS) -o debug-tree $(objects) debug-tree.o -luuid

tester: $(objects) random-test.o $(headers)
	gcc $(CFLAGS) -o tester $(objects) random-test.o

dir-test: $(objects) dir-test.o $(headers)
	gcc $(CFLAGS) -o dir-test $(objects) dir-test.o
quick-test: $(objects) quick-test.o $(headers)
	gcc $(CFLAGS) -o quick-test $(objects) quick-test.o

$(objects): $(headers)

clean :
	rm debug-tree mkfs.btrfs btrfsctl btrfsck *.o