summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@sbcglobal.net>2015-08-26 23:01:23 -0600
committerLuke Shumaker <lukeshu@sbcglobal.net>2015-08-26 23:01:23 -0600
commit4ab446ed2a12e4f8b599f5912b9d4aabf20e2975 (patch)
treeb810043933c5675788edd32ec61414db9d3dc1eb /Makefile
parent13bb2e14fcdd260d060b7240357d4a8a80002114 (diff)
stuff
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile37
1 files changed, 30 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index aa394e8..e95e43b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,21 +1,44 @@
prefix = /usr/local
bindir = $(prefix)/bin
+libdir = $(prefix)/lib
+systemddir = $(libdir)/systemd
-export GOPATH=$(realpath $(dir $(lastword $(MAKEFILE_LIST))))
+GOPATH := $(realpath $(dir $(lastword $(MAKEFILE_LIST))))
all: build
-generate:
+deps = golang.org/x/exp/inotify gopkg.in/yaml.v2
+
+$(foreach d,$(deps),$(eval src/$d: ; GOPATH='$(GOPATH)' go get -d -u $d))
+
+generate: generate-nslcd_proto $(addprefix src/,$(deps))
+generate-nslcd_proto:
$(MAKE) -C src/nslcd_proto
+.PHONY: generate-nslcd_proto
build: generate
- go install nshd
+ GOPATH='$(GOPATH)' go install nshd
clean:
- rm -rf -- pkg bin
+ rm -rf -- pkg bin src/*.*/
$(MAKE) -C src/nslcd_proto clean
-install: build
- install -Dm755 bin/nshd $(bindir)/nshd
+install = $(addprefix $(DESTDIR),$(bindir)/nshd $(systemddir)/system/nshd.socket $(systemddir)/system/nshd.service)
+
+install: $(install)
+
+uninstall:
+ rm -f -- $(install)
+ rmdir -p -- $(sort $(dir $(install))) 2>/dev/null || true
+
+bin/nshd: build
+
+$(DESTDIR)$(bindir)/%: bin/%
+ install -Dm755 $< $@
+$(DESTDIR)$(systemddir)/system/%.socket: %.socket
+ install -Dm644 $< $@
+$(DESTDIR)$(systemddir)/system/%.service: %.service
+ install -Dm644 $< $@
-.PHONY: all generate build clean
+.PHONY: all generate build clean install uninstall
+.SECONDARY: