github.com/coincircle/mattermost-server@v4.8.1-0.20180321182714-9d701c704416+incompatible/build/release.mk (about) 1 2 dist: | check-style test package 3 4 build-linux: 5 @echo Build Linux amd64 6 ifeq ($(BUILDER_GOOS_GOARCH),"linux_amd64") 7 env GOOS=linux GOARCH=amd64 $(GO) build -i -o $(GOPATH)/bin/platform $(GOFLAGS) $(GO_LINKER_FLAGS) ./ 8 else 9 env GOOS=linux GOARCH=amd64 $(GO) build -i -o $(GOPATH)/bin/linux_amd64/platform $(GOFLAGS) $(GO_LINKER_FLAGS) ./ 10 endif 11 12 build-osx: 13 @echo Build OSX amd64 14 ifeq ($(BUILDER_GOOS_GOARCH),"darwin_amd64") 15 env GOOS=darwin GOARCH=amd64 $(GO) build -i -o $(GOPATH)/bin/platform $(GOFLAGS) $(GO_LINKER_FLAGS) ./ 16 else 17 env GOOS=darwin GOARCH=amd64 $(GO) build -i -o $(GOPATH)/bin/darwin_amd64/platform $(GOFLAGS) $(GO_LINKER_FLAGS) ./ 18 endif 19 20 build-windows: 21 @echo Build Windows amd64 22 ifeq ($(BUILDER_GOOS_GOARCH),"windows_amd64") 23 env GOOS=windows GOARCH=amd64 $(GO) build -i -o $(GOPATH)/bin/platform.exe $(GOFLAGS) $(GO_LINKER_FLAGS) ./ 24 else 25 env GOOS=windows GOARCH=amd64 $(GO) build -i -o $(GOPATH)/bin/windows_amd64/platform.exe $(GOFLAGS) $(GO_LINKER_FLAGS) ./ 26 endif 27 28 build: build-linux build-windows build-osx 29 30 build-client: 31 @echo Building mattermost web app 32 33 cd $(BUILD_WEBAPP_DIR) && $(MAKE) build 34 35 package-common: 36 @# Remove any old files 37 rm -Rf $(DIST_ROOT) 38 39 @# Create needed directories 40 mkdir -p $(DIST_PATH)/bin 41 mkdir -p $(DIST_PATH)/logs 42 43 @# Resource directories 44 cp -RL config $(DIST_PATH) 45 cp -RL fonts $(DIST_PATH) 46 cp -RL templates $(DIST_PATH) 47 cp -RL i18n $(DIST_PATH) 48 49 @# Disable developer settings 50 sed -i'' -e 's|"ConsoleLevel": "DEBUG"|"ConsoleLevel": "INFO"|g' $(DIST_PATH)/config/config.json 51 sed -i'' -e 's|"SiteURL": "http://localhost:8065"|"SiteURL": ""|g' $(DIST_PATH)/config/config.json 52 53 @# Reset email sending to original configuration 54 sed -i'' -e 's|"SendEmailNotifications": true,|"SendEmailNotifications": false,|g' $(DIST_PATH)/config/config.json 55 sed -i'' -e 's|"FeedbackEmail": "test@example.com",|"FeedbackEmail": "",|g' $(DIST_PATH)/config/config.json 56 sed -i'' -e 's|"SMTPServer": "dockerhost",|"SMTPServer": "",|g' $(DIST_PATH)/config/config.json 57 sed -i'' -e 's|"SMTPPort": "2500",|"SMTPPort": "",|g' $(DIST_PATH)/config/config.json 58 59 @# Package webapp 60 mkdir -p $(DIST_PATH)/client 61 cp -RL $(BUILD_WEBAPP_DIR)/dist/* $(DIST_PATH)/client 62 63 @# Help files 64 ifeq ($(BUILD_ENTERPRISE_READY),true) 65 cp $(BUILD_ENTERPRISE_DIR)/ENTERPRISE-EDITION-LICENSE.txt $(DIST_PATH) 66 else 67 cp build/MIT-COMPILED-LICENSE.md $(DIST_PATH) 68 endif 69 cp NOTICE.txt $(DIST_PATH) 70 cp README.md $(DIST_PATH) 71 72 package-osx: package-common 73 @# Copy binary 74 ifeq ($(BUILDER_GOOS_GOARCH),"darwin_amd64") 75 cp $(GOPATH)/bin/platform $(DIST_PATH)/bin # from native bin dir, not cross-compiled 76 else 77 cp $(GOPATH)/bin/darwin_amd64/platform $(DIST_PATH)/bin # from cross-compiled bin dir 78 endif 79 @# Package 80 tar -C dist -czf $(DIST_PATH)-$(BUILD_TYPE_NAME)-osx-amd64.tar.gz mattermost 81 @# Cleanup 82 rm -f $(DIST_PATH)/bin/platform 83 84 package-windows: package-common 85 @# Copy binary 86 ifeq ($(BUILDER_GOOS_GOARCH),"windows_amd64") 87 cp $(GOPATH)/bin/platform.exe $(DIST_PATH)/bin # from native bin dir, not cross-compiled 88 else 89 cp $(GOPATH)/bin/windows_amd64/platform.exe $(DIST_PATH)/bin # from cross-compiled bin dir 90 endif 91 @# Package 92 cd $(DIST_ROOT) && zip -9 -r -q -l mattermost-$(BUILD_TYPE_NAME)-windows-amd64.zip mattermost && cd .. 93 @# Cleanup 94 rm -f $(DIST_PATH)/bin/platform.exe 95 96 package-linux: package-common 97 @# Copy binary 98 ifeq ($(BUILDER_GOOS_GOARCH),"linux_amd64") 99 cp $(GOPATH)/bin/platform $(DIST_PATH)/bin # from native bin dir, not cross-compiled 100 else 101 cp $(GOPATH)/bin/linux_amd64/platform $(DIST_PATH)/bin # from cross-compiled bin dir 102 endif 103 @# Package 104 tar -C dist -czf $(DIST_PATH)-$(BUILD_TYPE_NAME)-linux-amd64.tar.gz mattermost 105 @# Don't clean up native package so dev machines will have an unzipped package available 106 @#rm -f $(DIST_PATH)/bin/platform 107 108 package: package-linux package-windows package-osx