Fix make targets to actually work on macOS
This commit is contained in:
		
							parent
							
								
									c33065151e
								
							
						
					
					
						commit
						4c5d40e4c9
					
				
					 2 changed files with 68 additions and 52 deletions
				
			
		
							
								
								
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
										
									
									
										vendored
									
									
								
							|  | @ -1,6 +1,7 @@ | |||
| dist/ | ||||
| build/ | ||||
| .idea/ | ||||
| .vscode/ | ||||
| *.swp | ||||
| server/docs/ | ||||
| server/site/ | ||||
|  |  | |||
							
								
								
									
										37
									
								
								Makefile
									
										
									
									
									
								
							
							
						
						
									
										37
									
								
								Makefile
									
										
									
									
									
								
							|  | @ -16,7 +16,7 @@ help: | |||
| 	@echo "  make build                      - Build web app, documentation and server/client" | ||||
| 	@echo "  make clean                      - Clean build/dist folders" | ||||
| 	@echo | ||||
| 	@echo "Build server & client (not release version):" | ||||
| 	@echo "Build server & client (using GoReleaser, not release version):" | ||||
| 	@echo "  make cli                        - Build server & client (all architectures)" | ||||
| 	@echo "  make cli-linux-amd64            - Build server & client (Linux, amd64 only)" | ||||
| 	@echo "  make cli-linux-armv6            - Build server & client (Linux, armv6 only)" | ||||
|  | @ -24,8 +24,11 @@ help: | |||
| 	@echo "  make cli-linux-arm64            - Build server & client (Linux, arm64 only)" | ||||
| 	@echo "  make cli-windows-amd64          - Build client (Windows, amd64 only)" | ||||
| 	@echo "  make cli-darwin-all             - Build client (macOS, arm64+amd64 universal binary)" | ||||
| 	@echo "  make cli-devonly-server      - Build client & server (without GoReleaser, on current architecture)" | ||||
| 	@echo "  make cli-devonly-noserver    - Build client only (without GoReleaser, on current architecture)" | ||||
| 	@echo | ||||
| 	@echo "Build server & client (without GoReleaser):" | ||||
| 	@echo "  make cli-linux-server           - Build client & server (no GoReleaser, current arch, Linux)" | ||||
| 	@echo "  make cli-darwin-server          - Build client & server (no GoReleaser, current arch, macOS)" | ||||
| 	@echo "  make cli-client                 - Build client only (no GoReleaser, current arch, Linux/macOS/Windows)" | ||||
| 	@echo | ||||
| 	@echo "Build web app:" | ||||
| 	@echo "  make web                        - Build the web app" | ||||
|  | @ -134,20 +137,32 @@ cli-windows-amd64: cli-deps-static-sites | |||
| cli-darwin-all: cli-deps-static-sites | ||||
| 	goreleaser build --snapshot --rm-dist --debug --id ntfy_darwin_all | ||||
| 
 | ||||
| cli-devonly-server: cli-deps-static-sites | ||||
| 	# This is a target to build the CLI (including the server) manually. This should work on macOS, too. | ||||
| 	mkdir -p dist/ntfy_devonly_server server/docs | ||||
| cli-linux-server: cli-deps-static-sites | ||||
| 	# This is a target to build the CLI (including the server) manually. | ||||
| 	# Use this for development, if you really don't want to install GoReleaser ... | ||||
| 	mkdir -p dist/ntfy_linux_server server/docs | ||||
| 	CGO_ENABLED=1 go build \
 | ||||
| 		-o dist/ntfy_devonly_server/ntfy \
 | ||||
| 		-o dist/ntfy_linux_server/ntfy \
 | ||||
| 		-tags sqlite_omit_load_extension,osusergo,netgo \
 | ||||
| 		-ldflags \
 | ||||
| 		"-linkmode=external -extldflags=-static -s -w -X main.version=$(VERSION) -X main.commit=$(shell git rev-parse --short HEAD) -X main.date=$(shell date +%s)" | ||||
| 
 | ||||
| cli-devonly-noserver: cli-deps-static-sites | ||||
| 	# This is a target to build the CLI (excluding the server) manually. This should work on macOS, too. | ||||
| 	mkdir -p dist/ntfy_devonly_noserver server/docs | ||||
| cli-darwin-server: cli-deps-static-sites | ||||
| 	# This is a target to build the CLI (including the server) manually. | ||||
| 	# Use this for macOS/iOS development, so you have a local server to test with. | ||||
| 	mkdir -p dist/ntfy_darwin_server server/docs | ||||
| 	CGO_ENABLED=1 go build \
 | ||||
| 		-o dist/ntfy_darwin_server/ntfy \
 | ||||
| 		-tags sqlite_omit_load_extension,osusergo,netgo \
 | ||||
| 		-ldflags \
 | ||||
| 		"-linkmode=external -s -w -X main.version=$(VERSION) -X main.commit=$(shell git rev-parse --short HEAD) -X main.date=$(shell date +%s)" | ||||
| 
 | ||||
| cli-client: cli-deps-static-sites | ||||
| 	# This is a target to build the CLI (excluding the server) manually. This should work on Linux/macOS/Windows. | ||||
| 	# Use this for development, if you really don't want to install GoReleaser ... | ||||
| 	mkdir -p dist/ntfy_client server/docs | ||||
| 	CGO_ENABLED=0 go build \
 | ||||
| 		-o dist/ntfy_devonly_noserver/ntfy \
 | ||||
| 		-o dist/ntfy_client/ntfy \
 | ||||
| 		-tags noserver \
 | ||||
| 		-ldflags \
 | ||||
| 		"-X main.version=$(VERSION) -X main.commit=$(shell git rev-parse --short HEAD) -X main.date=$(shell date +%s)" | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue