-PREFIX=/usr
+PREFIX=/usr/local
INSTALL=install
CFLAGS+=-std=gnu89 -O2 -g -MMD -Wall \
-Wno-pointer-sign \
-fno-strict-aliasing \
- -I. -Iinclude -Ilibbcachefs \
+ -I. -Iinclude \
-D_FILE_OFFSET_BITS=64 \
-D_GNU_SOURCE \
-D_LGPL_SOURCE \
-DNO_BCACHEFS_FS \
-DNO_BCACHEFS_SYSFS \
$(EXTRA_CFLAGS)
-LDFLAGS+=-O2 -g
+LDFLAGS+=$(CFLAGS)
CC_VERSION=$(shell $(CC) -v 2>&1|grep -E '(gcc|clang) version')
ifeq ($(PREFIX),/usr)
ROOT_SBINDIR=/sbin
+ INITRAMFS_DIR=$(PREFIX)/share/initramfs-tools
else
ROOT_SBINDIR=$(PREFIX)/sbin
+ INITRAMFS_DIR=/etc/initramfs-tools
endif
.PHONY: all
all: bcachefs
-SRCS=$(shell git ls-files '*.c')
+SRCS=$(shell find . -type f -iname '*.c')
DEPS=$(SRCS:.c=.d)
-include $(DEPS)
$(INSTALL) -m0755 bcachefs $(DESTDIR)$(ROOT_SBINDIR)
$(INSTALL) -m0755 fsck.bcachefs $(DESTDIR)$(ROOT_SBINDIR)
$(INSTALL) -m0755 mkfs.bcachefs $(DESTDIR)$(ROOT_SBINDIR)
+ $(INSTALL) -m0755 -D initramfs/hook $(DESTDIR)$(INITRAMFS_DIR)/hooks/bcachefs
+ echo "copy_exec $(ROOT_SBINDIR)/bcachefs /sbin/bcachefs" >> $(DESTDIR)$(INITRAMFS_DIR)/hooks/bcachefs
+ $(INSTALL) -m0755 -D initramfs/script $(DESTDIR)$(INITRAMFS_DIR)/scripts/local-premount/bcachefs
$(INSTALL) -m0644 bcachefs.8 $(DESTDIR)$(PREFIX)/share/man/man8/
.PHONY: clean
.PHONY: deb
deb: all
- debuild --unsigned-source \
- --unsigned-changes \
- --no-pre-clean \
- --build=binary \
- --diff-ignore \
- --tar-ignore
+# --unsigned-source --unsigned-changes --no-pre-clean --build=binary
+# --diff-ignore --tar-ignore
+ debuild -us -uc -nc -b -i -I
.PHONE: update-bcachefs-sources
update-bcachefs-sources:
- git rm -rf libbcachefs
+ git rm -rf --ignore-unmatch libbcachefs
cp $(LINUX_DIR)/fs/bcachefs/*.[ch] libbcachefs/
cp $(LINUX_DIR)/include/trace/events/bcachefs.h include/trace/events/
echo `cd $(LINUX_DIR); git rev-parse HEAD` > .bcachefs_revision