diff options
Diffstat (limited to 'Makefile')
-rw-r--r-- | Makefile | 37 |
1 files changed, 30 insertions, 7 deletions
@@ -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: |