From ebfb0155ac6a4fba93ebb846878ca211e9384226 Mon Sep 17 00:00:00 2001 From: horus_arch Date: Mon, 27 Jul 2015 22:24:09 +0200 Subject: Initial commit. --- Makefile | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Makefile (limited to 'Makefile') diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..23e5ed0 --- /dev/null +++ b/Makefile @@ -0,0 +1,48 @@ +CONFIG=config.json +TARGET=ngxconf +NGXCONF=nginx.conf +GENERATED=templates.go +SOURCES=$(wildcard *.go) $(GENERATED) + +all: build config + @echo "Run 'make preview' to view the rendered template or 'make save' to save it in $(NGXCONF)" + +build: $(TARGET) + +$(TARGET): $(SOURCES) + @echo "Generating Go sources..." + @go generate || echo "Failed. We need at least Go version 1.4 to generate code. $(TARGET) still works but you ned to specify the full path to your template directory." + go build + +config: $(CONFIG) + +$(CONFIG): $(TARGET) + ./$(TARGET) -genconfig $(CONFIG) + @echo "" + +save: build + @if [ ! -f $(CONFIG) ]; then make config; fi + ./$(TARGET) -config $(CONFIG) > $(NGXCONF) + +preview: build + @if [ ! -f $(CONFIG) ]; then make config; fi + @./$(TARGET) -config $(CONFIG) + +edit: $(CONFIG) + $(EDITOR) $(CONFIG) + +clean: + $(RM) $(RMFLAGS) $(CONFIG) $(TARGET) $(NGXCONF) $(GENERATED) + @echo "package main" > $(GENERATED); \ + echo "// To be replaced by go generate" >> $(GENERATED); \ + echo "func isGenerated() bool { return false }" >> $(GENERATED); \ + echo "func getTemplate() string { return \"\" }" >> $(GENERATED) + +help: + @echo "Generates a standard nginx config file" + @echo "make build -- compile" + @echo "make config -- generate config" + @echo "make save -- render template and save in $(NGXCONF)" + @echo "make preview -- preview rendered template" + @echo "make edit -- edit $(CONFIG)" + @echo "make clean -- removes generated files" -- cgit v1.2.3