[arch-projects] [RFC 22/23] Add a Makefile
Matthew Monaco
dgbaley27 at 0x01b.net
Fri May 18 12:22:16 EDT 2012
From: Matthew Monaco <matthew.monaco at 0x01b.net>
This might be more than it needs to be. I anticipate systemd deciding to
provide a crypttab man page at some point so I wanted to be someone
flexible here.
---
.gitignore | 5 +++++
Makefile | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 55 insertions(+)
create mode 100644 Makefile
diff --git a/.gitignore b/.gitignore
index 7cd538a..203f504 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,8 @@
# Editor Files
.*.swp
*~
+
+# Build Files
+cryptmount
+*.8
+*.5
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..b73df91
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,50 @@
+BIN ?= cryptmount
+MANPAGES := crypttab.5 cryptmount.8
+
+PREFIX ?= /usr/local
+BINDIR ?= $(PREFIX)/bin
+LIBDIR ?= $(PREFIX)/lib
+DATADIR ?= $(PREFIX)/share
+MANDIR ?= $(DATADIR)/man
+
+DOCDIRS := $(addprefix $(DESTDIR)$(MANDIR)/man, 5 8) $(DESTDIR)$(DATADIR)/$(BIN)
+HOOKDIRS := $(addprefix $(DESTDIR)$(LIBDIR)/initcpio/, install hooks)
+
+
+all: $(BIN) $(MANPAGES)
+
+
+$(BIN): $(BIN).sh
+ cp $< $@
+
+man: $(MANPAGES)
+
+%.5: %.5.txt
+ a2x -d manpage -f manpage $<
+
+%.8: %.8.txt
+ a2x -d manpage -f manpage $<
+
+
+install: install_bin install_doc
+
+install_bin: $(BIN) $(DESTDIR)$(BINDIR)
+ install -m755 -t $(DESTDIR)$(BINDIR) $(BIN)
+
+install_doc: $(MANPAGES) crypttab.example $(DOCDIRS)
+ install -m644 -t $(DESTDIR)$(MANDIR)/man5 $(filter %.5, $(MANPAGES))
+ install -m644 -t $(DESTDIR)$(MANDIR)/man8 $(filter %.8, $(MANPAGES))
+ install -m644 -t $(DESTDIR)$(DATADIR)/$(BIN) crypttab.example
+
+install_hook: archlinux/encrypt_hook archlinux/encrypt_install $(HOOKDIRS)
+ install -m644 archlinux/encrypt_install $(DESTDIR)$(LIBDIR)/initcpio/install/encrypt2
+ install -m644 archlinux/encrypt_hook $(DESTDIR)$(LIBDIR)/initcpio/hooks/encrypt2
+
+$(DESTDIR)$(BINDIR) $(HOOKDIRS) $(DOCDIRS):
+ install -m755 -d $@
+
+
+clean:
+ $(RM) $(BIN) $(MANPAGES)
+
+.PHONY: all man clean install install_bin install_doc install_hook
--
1.7.10.2
More information about the arch-projects
mailing list