kopia lustrzana https://github.com/iv-org/invidious
				
				
				
			Add a makefile
							rodzic
							
								
									4940759627
								
							
						
					
					
						commit
						19bb26a789
					
				|  | @ -0,0 +1,118 @@ | ||||||
|  | # -----------------------
 | ||||||
|  | #  Compilation options
 | ||||||
|  | # -----------------------
 | ||||||
|  | 
 | ||||||
|  | RELEASE  := 1 | ||||||
|  | STATIC   := 0 | ||||||
|  | 
 | ||||||
|  | DISABLE_LSQUIC := 0 | ||||||
|  | NO_DBG_SYMBOLS := 0 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | FLAGS ?= | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ifeq ($(RELEASE), 1) | ||||||
|  |   FLAGS += --release | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | ifeq ($(STATIC), 1) | ||||||
|  |   FLAGS += --static | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ifeq ($(NO_DBG_SYMBOLS), 1) | ||||||
|  |   FLAGS += --no-debug | ||||||
|  | else | ||||||
|  |   FLAGS += --debug | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | ifeq ($(DISABLE_LSQUIC), 1) | ||||||
|  |   FLAGS += -Ddisable_lsquic | ||||||
|  | endif | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # -----------------------
 | ||||||
|  | #  Main
 | ||||||
|  | # -----------------------
 | ||||||
|  | 
 | ||||||
|  | all: invidious | ||||||
|  | 
 | ||||||
|  | get-libs: | ||||||
|  | 	shards install --production | ||||||
|  | 
 | ||||||
|  | # TODO: add support for ARM64 via cross-compilation
 | ||||||
|  | invidious: get-libs | ||||||
|  | 	crystal build src/invidious.cr $(FLAGS) --progress --stats --error-trace | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | run: invidious | ||||||
|  | 	./invidious | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # -----------------------
 | ||||||
|  | #  Development
 | ||||||
|  | # -----------------------
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | format: | ||||||
|  | 	crystal tool format | ||||||
|  | 
 | ||||||
|  | test: | ||||||
|  | 	crystal spec | ||||||
|  | 
 | ||||||
|  | verify: | ||||||
|  | 	crystal build src/invidious.cr --no-codegen --progress --stats --error-trace | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # -----------------------
 | ||||||
|  | #  (Un)Install
 | ||||||
|  | # -----------------------
 | ||||||
|  | 
 | ||||||
|  | # TODO
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # -----------------------
 | ||||||
|  | #  Cleaning
 | ||||||
|  | # -----------------------
 | ||||||
|  | 
 | ||||||
|  | clean: | ||||||
|  | 	rm invidious | ||||||
|  | 
 | ||||||
|  | distclean: clean | ||||||
|  | 	rm -rf libs | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # -----------------------
 | ||||||
|  | #  Help page
 | ||||||
|  | # -----------------------
 | ||||||
|  | 
 | ||||||
|  | help: | ||||||
|  | 	echo "Targets available in this Makefile:" | ||||||
|  | 	echo "" | ||||||
|  | 	echo "get-libs         Fetch Crystal libraries" | ||||||
|  | 	echo "invidious        Build Invidious" | ||||||
|  | 	echo "run              Launch Invidious" | ||||||
|  | 	echo "" | ||||||
|  | 	echo "format           Run the Crystal formatter" | ||||||
|  | 	echo "test             Run tests" | ||||||
|  | 	echo "verify           Just make sure that the code compiles, but without" | ||||||
|  | 	echo "                 generating any binaries. Useful to search for errors" | ||||||
|  | 	echo "" | ||||||
|  | 	echo "clean            Remove build artifacts" | ||||||
|  | 	echo "distclean        Remove build artifacts and libraries" | ||||||
|  | 	echo "" | ||||||
|  | 	echo "" | ||||||
|  | 	echo "Build options available for this Makefile:" | ||||||
|  | 	echo "" | ||||||
|  | 	echo "RELEASE          Make a release build      (Default: 1)" | ||||||
|  | 	echo "STATIC           Link librariess tatically (Default: 1)" | ||||||
|  | 	echo "" | ||||||
|  | 	echo "DISABLE_LSQUIC   Don't use lsquic          (Default: 0)" | ||||||
|  | 	echo "NO_DBG_SYMBOLS   Strip debug symbols       (Default: 0)" | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | # No targets generates an output named after themselves
 | ||||||
|  | .PHONY all get-libs build amd64 run | ||||||
|  | .PHONY format test verify clean distclean help | ||||||
		Ładowanie…
	
		Reference in New Issue
	
	 Samantaz Fox
						Samantaz Fox