$NetBSD: patch-Makefile,v 1.2 2017/02/14 21:24:04 joerg Exp $ Make facette Makefile NetBSD-friendly. * Use gsed to support all used flags * Disable pandoc * Use pax instead of rsync --- Makefile.orig 2015-12-22 05:00:11.000000000 +0000 +++ Makefile @@ -16,6 +16,13 @@ TAGS ?= facette \ GO ?= go +# might apply to other BSDs +ifeq ($(UNAME), NetBSD) +SED = gsed +else +SED = sed +endif + GOOS ?= $(shell $(GO) env GOOS) GOARCH ?= $(shell $(GO) env GOARCH) @@ -88,7 +95,12 @@ clean: clean-bin clean-doc clean-static @(test ! -d $(BUILD_DIR) || rmdir $(BUILD_DIR)) && \ $(call mesg_ok) || $(call mesg_fail) -build: build-bin build-doc build-static +# NetBSD doesn't have pandoc packaged yet +ifneq ($(UNAME), NetBSD) +do_buid_docs = build-doc +endif + +build: build-bin $(do_buid_docs) build-static .PHONY: install install: install-bin install-doc install-static @@ -118,10 +130,10 @@ $(BIN_OUTPUT): $(PKG_SRC) $(BIN_SRC) $(B @$(call mesg_start,$(notdir $@),Building $(notdir $@)...) @install -d -m 0755 $(dir $@) && $(GO) build \ -ldflags " \ - -X main.version $(VERSION) \ - -X main.buildDate '$(BUILD_DATE)' \ - $(PKG_LIST:%=-X github.com/facette/facette/%.version $(VERSION)) \ - $(PKG_LIST:%=-X github.com/facette/facette/%.buildDate '$(BUILD_DATE)') \ + -X main.version=$(VERSION) \ + -X main.buildDate='$(BUILD_DATE)' \ + $(PKG_LIST:%=-X github.com/facette/facette/%.version=$(VERSION)) \ + $(PKG_LIST:%=-X github.com/facette/facette/%.buildDate='$(BUILD_DATE)') \ " \ -tags "$(TAGS)" \ -o $@ cmd/$(notdir $@)/*.go && \ @@ -277,7 +289,7 @@ $(SCRIPT_EXTRA_OUTPUT): $(SCRIPT_EXTRA) $(MESG_OUTPUT): $(MESG_SRC) @$(call mesg_start,static,Packing $(MESG_SRC) file...) @install -d -m 0755 $(BUILD_DIR)/static && \ - sed -e 's/^\s\+//g;s/\s\+$$//g' $(MESG_SRC) | sed -e ':a;N;s/\n//;ta' >$(MESG_OUTPUT) && \ + $(SED) -e 's/^\s\+//g;s/\s\+$$//g' $(MESG_SRC) | $(SED) -e ':a;N;s/\n//;ta' >$(MESG_OUTPUT) && \ $(call mesg_ok) || $(call mesg_fail) $(STYLE_OUTPUT): lessc $(STYLE_SRC) @@ -302,8 +314,8 @@ $(STYLE_EXTRA_OUTPUT): $(STYLE_EXTRA) $(call mesg_ok) || $(call mesg_fail) $(TMPL_OUTPUT): $(TMPL_SRC) -ifeq ($(UNAME), Darwin) - $(eval COPY_CMD=rsync -rR) +ifneq ($(UNAME), Linux) + $(eval COPY_CMD=pax -rwpe) else $(eval COPY_CMD=cp -r --parents) endif @@ -337,7 +349,7 @@ devel-static: build-static $(call mesg_ok) || $(call mesg_fail) @$(call mesg_start,install,Copying static third-party development files...) @(for ENTRY in $(SCRIPT_EXTRA:.js=.src.js); do \ - cp $$ENTRY $(BUILD_DIR)/static/`basename $$ENTRY | sed -e 's@\.src\.js$$@.js@'`; \ + cp $$ENTRY $(BUILD_DIR)/static/`basename $$ENTRY | $(SED) -e 's@\.src\.js$$@.js@'`; \ done) && $(call mesg_ok) || $(call mesg_fail) lint-static: jshint $(SCRIPT_OUTPUT)