]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - Makefile
add dependency generation to make file
[bcachefs-tools-debian] / Makefile
index 1f3caa48f6fdbadc29d920ad7fdaa4a3cb698d47..5c5ea5fc02f277679f85f65abe54037e3c960b5b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,26 +1,47 @@
 
 PREFIX=/usr
-CFLAGS+=-O2 -Wall -g
+INSTALL=install
+CFLAGS+=-std=gnu99 -O2 -Wall -g -MMD -D_FILE_OFFSET_BITS=64 -I.
+LDFLAGS+=-static
 
-all: make-bcache probe-bcache bcache-super-show
+PKGCONFIG_LIBS="blkid uuid"
+CFLAGS+=`pkg-config --cflags   ${PKGCONFIG_LIBS}`
+LDLIBS+=`pkg-config --libs     ${PKGCONFIG_LIBS}` -lscrypt -lsodium -lkeyutils -lm
 
-install: make-bcache probe-bcache bcache-super-show
-       install -m0755 make-bcache bcache-super-show    $(DESTDIR)${PREFIX}/sbin/
-       install -m0755 probe-bcache     $(DESTDIR)/sbin/
-       install -m0644 61-bcache.rules  $(DESTDIR)/lib/udev/rules.d/
-       install -m0755 bcache-register  $(DESTDIR)/lib/udev/
-       -install -T -m0755 initramfs/hook       $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache
-       install -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/
-#      install -m0755 bcache-test $(DESTDIR)${PREFIX}/sbin/
+ifeq ($(PREFIX),/usr)
+       ROOT_SBINDIR=/sbin
+else
+       ROOT_SBINDIR=$(PREFIX)/sbin
+endif
 
+.PHONY: all
+all: bcache
+
+CCANSRCS=$(wildcard ccan/*/*.c)
+CCANOBJS=$(patsubst %.c,%.o,$(CCANSRCS))
+
+libccan.a: $(CCANOBJS)
+       $(AR) r $@ $(CCANOBJS)
+
+bcache-objs = bcache.o bcache-assemble.o bcache-device.o bcache-format.o\
+       bcache-fs.o bcache-run.o bcache-key.o libbcache.o crypto.o util.o
+
+-include $(bcache-objs:.o=.d)
+
+bcache: $(bcache-objs) libccan.a
+
+.PHONY: install
+install: bcache
+       mkdir -p $(DESTDIR)$(ROOT_SBINDIR)
+       mkdir -p $(DESTDIR)$(PREFIX)/share/man/man8/
+       $(INSTALL) -m0755 bcache        $(DESTDIR)$(ROOT_SBINDIR)
+       $(INSTALL) -m0755 mkfs.bcache   $(DESTDIR)$(ROOT_SBINDIR)
+       $(INSTALL) -m0644 bcache.8      $(DESTDIR)$(PREFIX)/share/man/man8/
+
+.PHONY: clean
 clean:
-       $(RM) -f make-bcache probe-bcache bcache-super-show bcache-test *.o
-
-bcache-test: LDLIBS += `pkg-config --libs openssl`
-make-bcache: LDLIBS += `pkg-config --libs uuid blkid`
-make-bcache: CFLAGS += `pkg-config --cflags uuid blkid`
-make-bcache: bcache.o
-probe-bcache: LDLIBS += `pkg-config --libs uuid`
-bcache-super-show: LDLIBS += `pkg-config --libs uuid`
-bcache-super-show: CFLAGS += -std=gnu99
-bcache-super-show: bcache.o
+       $(RM) bcache *.o *.d *.a
+
+.PHONY: deb
+deb: all
+       debuild -nc -us -uc -i -I