diff options
| author | horus_arch | 2015-07-27 22:24:09 +0200 |
|---|---|---|
| committer | horus_arch | 2015-07-27 22:52:09 +0200 |
| commit | ebfb0155ac6a4fba93ebb846878ca211e9384226 (patch) | |
| tree | 0f9faa9e9afed9ce92dbd8e5cac796a833f86cd5 /Makefile | |
| download | ngxconf-ebfb0155ac6a4fba93ebb846878ca211e9384226.tar.gz | |
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" |
