File: Makefile

package info (click to toggle)
logfs-tools 20100501-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 156 kB
  • ctags: 499
  • sloc: ansic: 2,202; makefile: 49
file content (63 lines) | stat: -rw-r--r-- 1,207 bytes parent folder | download
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
VERSION = 1.1

#
# Use "make C=1 foo" to enable sparse checking
# Use "make S=1 foo" to compile statically
#
BIN	:= mklogfs
SRC	:= mkfs.c fsck.c lib.c journal.c segment.c btree.c readwrite.c
OBJ	:= $(SRC:.c=.o)
BB	:= $(SRC:.c=.bb)
BBG	:= $(SRC:.c=.bbg)
DA	:= $(SRC:.c=.da)
COV	:= $(SRC:.c=.c.gcov)
ZLIB_O	:= crc32.o deflate.o adler32.o compress.o trees.o zutil.o

CC	:= gcc
CHECK	:= cgcc
CHECKFLAGS := -D__CHECK_ENDIAN__
CFLAGS	:= -std=gnu99
CFLAGS	+= -Wall
CFLAGS	+= -Os
CFLAGS	+= -D_FILE_OFFSET_BITS=64
CFLAGS	+= -g
CFLAGS	+= -DVERSION=\"$(VERSION)\"
#CFLAGS	+= -fprofile-arcs -ftest-coverage

all: $(BIN)

$(ZLIB_O): /usr/lib/libz.a
	ar -x /usr/lib/libz.a $@

ifdef S
EXTRA_OBJ := $(ZLIB_O)
CFLAGS += -static
else
CFLAGS += -lz
endif

mklogfs: $(EXTRA_OBJ)
mklogfs: mkfs.o lib.o btree.o segment.o readwrite.o
	$(CC) $(CFLAGS) -o $@ $^

logfsck: $(ZLIB_O)
logfsck: fsck.o lib.o journal.o super.o
	$(CC) $(CFLAGS) -o $@ $^

$(OBJ): kerncompat.h logfs.h logfs_abi.h btree.h

%.o: %.c
ifdef C
	$(CHECK) $(CFLAGS) $(CHECKFLAGS) -c -o $@ $<
endif
	$(CC) $(CFLAGS) -c -o $@ $<


install: all ~/bin
	cp $(BIN) ~/bin/

distclean: clean
	$(RM) core

clean:
	$(RM) $(BIN) $(OBJ) $(BB) $(BBG) $(COV) $(DA) $(ZLIB_O)