]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - Makefile
add dependency generation to make file
[bcachefs-tools-debian] / Makefile
index a29466723202a1c9683feaf00e2d0b4fdf63e61c..5c5ea5fc02f277679f85f65abe54037e3c960b5b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,34 +1,47 @@
 
 PREFIX=/usr
-UDEVLIBDIR=/lib/udev
-DRACUTLIBDIR=/lib/dracut
 INSTALL=install
-CFLAGS+=-std=gnu99 -O2 -Wall -Werror -g -Iinclude
+CFLAGS+=-std=gnu99 -O2 -Wall -g -MMD -D_FILE_OFFSET_BITS=64 -I.
 LDFLAGS+=-static
 
-all: bcacheadm probe-bcache
+PKGCONFIG_LIBS="blkid uuid"
+CFLAGS+=`pkg-config --cflags   ${PKGCONFIG_LIBS}`
+LDLIBS+=`pkg-config --libs     ${PKGCONFIG_LIBS}` -lscrypt -lsodium -lkeyutils -lm
 
-install: bcacheadm probe-bcache
-       $(INSTALL) -m0755 bcacheadm $(DESTDIR)${PREFIX}/sbin/
-       #$(INSTALL) -m0755 probe-bcache bcache-register         $(DESTDIR)$(UDEVLIBDIR)/
-       #$(INSTALL) -m0644 69-bcache.rules      $(DESTDIR)$(UDEVLIBDIR)/rules.d/
-       #-$(INSTALL) -T -m0755 initramfs/hook   $(DESTDIR)/usr/share/initramfs-tools/hooks/bcache
-       if [ -d $(DESTDIR)$(DRACUTLIBDIR)/modules.d ]; then\
-               $(INSTALL) -D -m0755 dracut/module-setup.sh $(DESTDIR)$(DRACUTLIBDIR)/modules.d/90bcache/module-setup.sh; \
-       fi
-       $(INSTALL) -m0644 -- *.8 $(DESTDIR)${PREFIX}/share/man/man8/
+ifeq ($(PREFIX),/usr)
+       ROOT_SBINDIR=/sbin
+else
+       ROOT_SBINDIR=$(PREFIX)/sbin
+endif
 
-clean:
-       $(RM) -f probe-bcache bcacheadm bcache-test *.o
+.PHONY: all
+all: bcache
+
+CCANSRCS=$(wildcard ccan/*/*.c)
+CCANOBJS=$(patsubst %.c,%.o,$(CCANSRCS))
+
+libccan.a: $(CCANOBJS)
+       $(AR) r $@ $(CCANOBJS)
 
-bcache.o: CFLAGS += `pkg-config --cflags uuid blkid`
+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
 
-bcacheadm.o: CFLAGS += `pkg-config --cflags uuid blkid libnih`
-bcacheadm: LDLIBS += `pkg-config --libs uuid blkid libnih`
-bcacheadm: bcacheadm.o bcacheadm-format.o bcacheadm-assemble.o bcacheadm-run.o\
-       bcacheadm-query.o bcache.o
+-include $(bcache-objs:.o=.d)
 
-probe-bcache.o: CFLAGS += `pkg-config --cflags uuid blkid`
-probe-bcache: LDLIBS += `pkg-config --libs uuid blkid`
+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) bcache *.o *.d *.a
 
-bcache-test: LDLIBS += `pkg-config --libs openssl`
+.PHONY: deb
+deb: all
+       debuild -nc -us -uc -i -I