diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 48 |
1 files changed, 48 insertions, 0 deletions
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" |
