A clean, Markdown-based publishing platform made for writers. Write together, and build a community. https://writefreely.org
Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 
 
 

97 Zeilen
2.4 KiB

  1. GITREV=`git describe --tags | cut -c 2-`
  2. LDFLAGS=-ldflags="-X 'github.com/writeas/writefreely.softwareVer=$(GITREV)'"
  3. GOCMD=go
  4. GOINSTALL=$(GOCMD) install $(LDFLAGS)
  5. GOBUILD=$(GOCMD) build $(LDFLAGS)
  6. GOTEST=$(GOCMD) test $(LDFLAGS)
  7. GOGET=$(GOCMD) get
  8. BINARY_NAME=writefreely
  9. DOCKERCMD=docker
  10. IMAGE_NAME=writeas/writefreely
  11. all : build
  12. build: assets deps
  13. cd cmd/writefreely; $(GOBUILD) -v
  14. build-linux: deps
  15. @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  16. $(GOGET) -u github.com/karalabe/xgo; \
  17. fi
  18. xgo --targets=linux/amd64, -dest build/ $(LDFLAGS) -out writefreely ./cmd/writefreely
  19. build-windows: deps
  20. @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  21. $(GOGET) -u github.com/karalabe/xgo; \
  22. fi
  23. xgo --targets=windows/amd64, -dest build/ $(LDFLAGS) -out writefreely ./cmd/writefreely
  24. build-darwin: deps
  25. @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  26. $(GOGET) -u github.com/karalabe/xgo; \
  27. fi
  28. xgo --targets=darwin/amd64, -dest build/ $(LDFLAGS) -out writefreely ./cmd/writefreely
  29. build-docker :
  30. $(DOCKERCMD) build -t $(IMAGE_NAME):latest -t $(IMAGE_NAME):$(GITREV) .
  31. test:
  32. $(GOTEST) -v ./...
  33. run:
  34. $(GOINSTALL) ./...
  35. $(BINARY_NAME) --debug
  36. deps :
  37. $(GOGET) -v ./...
  38. install : build
  39. cmd/writefreely/$(BINARY_NAME) --gen-keys
  40. cd less/; $(MAKE) install $(MFLAGS)
  41. release : clean ui assets
  42. mkdir build
  43. cp -r templates build
  44. cp -r pages build
  45. mkdir build/keys
  46. cp schema.sql build
  47. cp sqlite.sql build
  48. $(MAKE) build-linux
  49. mv build/$(BINARY_NAME)-linux-amd64 build/$(BINARY_NAME)
  50. cd build; tar -cvzf ../$(BINARY_NAME)_$(GITREV)_linux_amd64.tar.gz *
  51. rm build/$(BINARY_NAME)
  52. $(MAKE) build-darwin
  53. mv build/$(BINARY_NAME)-darwin-10.6-amd64 build/$(BINARY_NAME)
  54. cd build; tar -cvzf ../$(BINARY_NAME)_$(GITREV)_macos_amd64.tar.gz *
  55. rm build/$(BINARY_NAME)
  56. $(MAKE) build-windows
  57. mv build/$(BINARY_NAME)-windows-4.0-amd64.exe build/$(BINARY_NAME).exe
  58. cd build; zip -r ../$(BINARY_NAME)_$(GITREV)_windows_amd64.zip ./*
  59. $(MAKE) build-docker
  60. $(MAKE) release-docker
  61. release-docker :
  62. $(DOCKERCMD) push $(IMAGE_NAME)
  63. ui : force_look
  64. cd less/; $(MAKE) $(MFLAGS)
  65. assets : generate
  66. go-bindata -pkg writefreely -ignore=\\.gitignore static/...
  67. dev-assets : generate
  68. go-bindata -pkg writefreely -ignore=\\.gitignore -debug static/...
  69. generate :
  70. @hash go-bindata > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  71. $(GOGET) -u github.com/jteeuwen/go-bindata/...; \
  72. fi
  73. clean :
  74. -rm -rf build
  75. cd less/; $(MAKE) clean $(MFLAGS)
  76. force_look :
  77. true