CFGFILE := $(PROJECT).cfg
CFGSRC := $(CFGFILE).example
DOC := README.md $(CFGSRC)
-
+CTRLSCR := $(PROJECT).sh
BIN := $(PROJECT)
VERFILE := version.go
SRC := $(filter-out $(VERFILE),$(wildcard *.go))
GOBLD := go build
RM := rm -fv
-CP := cp -afv
+CP := cp -afv --no-preserve=ownership
MKDIR := mkdir -pv
RMDIR := rmdir -v
TAIL := tail
+SED := sed
.PHONY: all version config install uninstall clean distclean
@echo "installing to $(PREFIX)"
@$(MKDIR) $(INST_BIN) $(INST_ETC) $(INST_DOC)
@$(CP) $(BIN) $(INST_BIN)
+ @$(CP) $(CTRLSCR) $(INST_BIN)/$(CTRLSCR)
+ $(SED) -i 's:PREFIX=.*:PREFIX=$(PREFIX):' $(INST_BIN)/$(CTRLSCR)
@$(CP) $(CFGFILE) $(INST_ETC)
@$(CP) $(DOC) $(INST_DOC)
uninstall:
@echo "uninstalling from $(PREFIX)"
+ @-$(RM) $(INST_BIN)/$(CTRLSCR)
@-$(RM) $(INST_BIN)/$(BIN)
@-$(RM) $(INST_ETC)/$(CFGFILE)
@-$(foreach D,$(DOC),$(RM) $(INST_DOC)/$(D) ;)
- @-$(RMDIR) $(INST_DOC) |:
+ @-$(RMDIR) $(INST_DOC) ||:
clean:
@$(RM) $(BIN)