# release, debug
BUILD=release

CFLAGS=-Wall -I/usr/include/libxml2 `libgcrypt-config --cflags`
LDLIBS=-lxml2 `libgcrypt-config --libs` -ldevmapper

INSTALL_PROGRAM=install
INSTALL_DATA=install

MANDIR=/usr/share/man

ifeq ($(BUILD),release)
CFLAGS += -O3 -g0
else
CFLAGS += -ggdb -DDEBUG
endif

SOURCE= cryptfs.c actions.c key.c misc.c options.c xml.c dm.c tty.c
DEST= cryptfs

OBJS=$(SOURCE:%.c=%.o)

all: $(DEST)

$(DEST): $(OBJS)

%.d: %.c
	$(CC) -MM $(CFLAGS) $< > $@.$$$$; \
	    sed 's,\($*\)\.o[ :]*,\1.o $@ : ,g' < $@.$$$$ > $@; \
	    rm -f $@.$$$$

-include $(SOURCE:%.c=%.d)

install: $(DEST)
	$(INSTALL_PROGRAM) -D -m 4755 $(DEST) $(PREFIX)/sbin/$(DEST)
	$(INSTALL_DATA) -D -m 0644 cryptfs.8  $(PREFIX)/$(MANDIR)/man8/cryptfs.8
	$(INSTALL_DATA) -D -m 0644 cryptfs.xml.5  $(PREFIX)/$(MANDIR)/man5/cryptfs.xml.5

.PHONY: clean
clean:
	rm -f $(OBJS) $(SOURCE:%.c=%.d) $(DEST)
