A clean, Markdown-based publishing platform made for writers. Write together, and build a community. https://writefreely.org
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 
 
 
 

150 rindas
4.3 KiB

  1. GITREV=`git describe | 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. BUILDPATH=build/$(BINARY_NAME)
  10. DOCKERCMD=docker
  11. IMAGE_NAME=writeas/writefreely
  12. TMPBIN=./tmp
  13. all : build
  14. ci: ci-assets deps
  15. cd cmd/writefreely; $(GOBUILD) -v
  16. build: assets deps
  17. cd cmd/writefreely; $(GOBUILD) -v -tags='sqlite'
  18. build-no-sqlite: assets-no-sqlite deps-no-sqlite
  19. cd cmd/writefreely; $(GOBUILD) -v -o $(BINARY_NAME)
  20. build-linux: deps
  21. @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  22. $(GOGET) -u github.com/karalabe/xgo; \
  23. fi
  24. xgo --targets=linux/amd64, -dest build/ $(LDFLAGS) -tags='sqlite' -out writefreely ./cmd/writefreely
  25. build-windows: deps
  26. @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  27. $(GOGET) -u github.com/karalabe/xgo; \
  28. fi
  29. xgo --targets=windows/amd64, -dest build/ $(LDFLAGS) -tags='sqlite' -out writefreely ./cmd/writefreely
  30. build-darwin: deps
  31. @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  32. $(GOGET) -u github.com/karalabe/xgo; \
  33. fi
  34. xgo --targets=darwin/amd64, -dest build/ $(LDFLAGS) -tags='sqlite' -out writefreely ./cmd/writefreely
  35. build-arm7: deps
  36. @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  37. $(GOGET) -u github.com/karalabe/xgo; \
  38. fi
  39. xgo --targets=linux/arm-7, -dest build/ $(LDFLAGS) -tags='sqlite' -out writefreely ./cmd/writefreely
  40. build-docker :
  41. $(DOCKERCMD) build -t $(IMAGE_NAME):latest -t $(IMAGE_NAME):$(GITREV) .
  42. test:
  43. $(GOTEST) -v ./...
  44. run: dev-assets
  45. $(GOINSTALL) -tags='sqlite' ./...
  46. $(BINARY_NAME) --debug
  47. deps :
  48. $(GOGET) -tags='sqlite' -d -v ./...
  49. deps-no-sqlite:
  50. $(GOGET) -d -v ./...
  51. install : build
  52. cmd/writefreely/$(BINARY_NAME) --config
  53. cmd/writefreely/$(BINARY_NAME) --gen-keys
  54. cmd/writefreely/$(BINARY_NAME) --init-db
  55. cd less/; $(MAKE) install $(MFLAGS)
  56. release : clean ui assets
  57. mkdir -p $(BUILDPATH)
  58. cp -r templates $(BUILDPATH)
  59. cp -r pages $(BUILDPATH)
  60. cp -r static $(BUILDPATH)
  61. mkdir $(BUILDPATH)/keys
  62. $(MAKE) build-linux
  63. mv build/$(BINARY_NAME)-linux-amd64 $(BUILDPATH)/$(BINARY_NAME)
  64. tar -cvzf $(BINARY_NAME)_$(GITREV)_linux_amd64.tar.gz -C build $(BINARY_NAME)
  65. rm $(BUILDPATH)/$(BINARY_NAME)
  66. $(MAKE) build-arm7
  67. mv build/$(BINARY_NAME)-linux-arm-7 $(BUILDPATH)/$(BINARY_NAME)
  68. tar -cvzf $(BINARY_NAME)_$(GITREV)_linux_arm7.tar.gz -C build $(BINARY_NAME)
  69. rm $(BUILDPATH)/$(BINARY_NAME)
  70. $(MAKE) build-darwin
  71. mv build/$(BINARY_NAME)-darwin-10.6-amd64 $(BUILDPATH)/$(BINARY_NAME)
  72. tar -cvzf $(BINARY_NAME)_$(GITREV)_macos_amd64.tar.gz -C build $(BINARY_NAME)
  73. rm $(BUILDPATH)/$(BINARY_NAME)
  74. $(MAKE) build-windows
  75. mv build/$(BINARY_NAME)-windows-4.0-amd64.exe $(BUILDPATH)/$(BINARY_NAME).exe
  76. cd build; zip -r ../$(BINARY_NAME)_$(GITREV)_windows_amd64.zip ./$(BINARY_NAME)
  77. rm $(BUILDPATH)/$(BINARY_NAME)
  78. $(MAKE) build-docker
  79. $(MAKE) release-docker
  80. # This assumes you're on linux/amd64
  81. release-linux : clean ui
  82. mkdir -p $(BUILDPATH)
  83. cp -r templates $(BUILDPATH)
  84. cp -r pages $(BUILDPATH)
  85. cp -r static $(BUILDPATH)
  86. mkdir $(BUILDPATH)/keys
  87. $(MAKE) build-no-sqlite
  88. mv cmd/writefreely/$(BINARY_NAME) $(BUILDPATH)/$(BINARY_NAME)
  89. tar -cvzf $(BINARY_NAME)_$(GITREV)_linux_amd64.tar.gz -C build $(BINARY_NAME)
  90. release-docker :
  91. $(DOCKERCMD) push $(IMAGE_NAME)
  92. ui : force_look
  93. cd less/; $(MAKE) $(MFLAGS)
  94. assets : generate
  95. go-bindata -pkg writefreely -ignore=\\.gitignore -tags="!wflib" schema.sql sqlite.sql
  96. assets-no-sqlite: generate
  97. go-bindata -pkg writefreely -ignore=\\.gitignore -tags="!wflib" schema.sql
  98. dev-assets : generate
  99. go-bindata -pkg writefreely -ignore=\\.gitignore -debug -tags="!wflib" schema.sql sqlite.sql
  100. lib-assets : generate
  101. go-bindata -pkg writefreely -ignore=\\.gitignore -o bindata-lib.go -tags="wflib" schema.sql
  102. generate :
  103. @hash go-bindata > /dev/null 2>&1; if [ $$? -ne 0 ]; then \
  104. $(GOGET) -u github.com/jteeuwen/go-bindata/go-bindata; \
  105. fi
  106. $(TMPBIN):
  107. mkdir -p $(TMPBIN)
  108. $(TMPBIN)/go-bindata: deps $(TMPBIN)
  109. $(GOBUILD) -o $(TMPBIN)/go-bindata github.com/jteeuwen/go-bindata/go-bindata
  110. $(TMPBIN)/xgo: deps $(TMPBIN)
  111. $(GOBUILD) -o $(TMPBIN)/xgo github.com/karalabe/xgo
  112. ci-assets : $(TMPBIN)/go-bindata
  113. $(TMPBIN)/go-bindata -pkg writefreely -ignore=\\.gitignore -tags="!wflib" schema.sql sqlite.sql
  114. clean :
  115. -rm -rf build
  116. -rm -rf tmp
  117. cd less/; $(MAKE) clean $(MFLAGS)
  118. force_look :
  119. true