]> git.sesse.net Git - bcachefs-tools-debian/blobdiff - Makefile
add dependency generation to make file
[bcachefs-tools-debian] / Makefile
index 5b95af1953279b0305070b90e597b7a893122dc7..5c5ea5fc02f277679f85f65abe54037e3c960b5b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,33 +1,47 @@
 
 PREFIX=/usr
-UDEVLIBDIR=/lib/udev
-DRACUTLIBDIR=/lib/dracut
 INSTALL=install
-CFLAGS+=-O2 -Wall -Werror -g
+CFLAGS+=-std=gnu99 -O2 -Wall -g -MMD -D_FILE_OFFSET_BITS=64 -I.
+LDFLAGS+=-static
 
-all: make-bcache probe-bcache bcache-super-show bcachectl
+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 bcachectl $(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/
-#      $(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 bcachectl *.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 blkid`
-probe-bcache: CFLAGS += `pkg-config --cflags uuid blkid`
-bcache-super-show: LDLIBS += `pkg-config --libs uuid`
-bcache-super-show: CFLAGS += -std=gnu99
-bcache-super-show: bcache.o
-bcachectl: bcachectl.o
+       $(RM) bcache *.o *.d *.a
+
+.PHONY: deb
+deb: all
+       debuild -nc -us -uc -i -I