| 
									
										
										
										
											2023-03-25 10:07:47 -04:00
										 |  |  | SHELL := bash | 
					
						
							|  |  |  | .ONESHELL: | 
					
						
							|  |  |  | .SHELLFLAGS := -eu -o pipefail -c | 
					
						
							|  |  |  | .DELETE_ON_ERROR: | 
					
						
							|  |  |  | MAKEFLAGS += --warn-undefined-variables | 
					
						
							|  |  |  | MAKEFLAGS += --no-builtin-rules | 
					
						
							| 
									
										
										
										
											2023-04-19 16:35:26 -04:00
										 |  |  | TESTJOBS := 4 | 
					
						
							|  |  |  | OS:=$(shell uname -s) | 
					
						
							| 
									
										
										
										
											2023-04-20 22:53:17 -04:00
										 |  |  | RELEASEFLAGS := | 
					
						
							| 
									
										
										
										
											2023-04-19 16:35:26 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | ifeq ($(OS),Linux) | 
					
						
							|  |  |  |   TESTJOBS:=$(shell nproc) | 
					
						
							| 
									
										
										
										
											2023-04-20 22:53:17 -04:00
										 |  |  |   RELEASEFLAGS=--target x86_64-unknown-linux-musl | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | ifeq ($(OS),FreeBSD) | 
					
						
							|  |  |  |   TESTJOBS:=$(shell sysctl -n hw.ncpu) | 
					
						
							| 
									
										
										
										
											2023-04-19 16:35:26 -04:00
										 |  |  | endif | 
					
						
							| 
									
										
										
										
											2023-03-25 10:07:47 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | ifeq ($(origin .RECIPEPREFIX), undefined) | 
					
						
							|  |  |  |   $(error This Make does not support .RECIPEPREFIX. Please use GNU Make 4.0 or later) | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | .RECIPEPREFIX = > | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: build | 
					
						
							| 
									
										
										
										
											2023-03-25 14:10:22 -04:00
										 |  |  | build: | 
					
						
							|  |  |  | > cargo build | 
					
						
							| 
									
										
										
										
											2023-03-25 10:07:47 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-19 00:09:25 -04:00
										 |  |  | .PHONY: release | 
					
						
							|  |  |  | release: | 
					
						
							| 
									
										
										
										
											2023-04-20 22:53:17 -04:00
										 |  |  | > cargo build --release $(RELEASEFLAGS) | 
					
						
							| 
									
										
										
										
											2023-04-19 00:09:25 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-25 10:07:47 -04:00
										 |  |  | .PHONY: clean | 
					
						
							|  |  |  | clean: | 
					
						
							|  |  |  | > cargo clean | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-25 14:10:22 -04:00
										 |  |  | .PHONY: test | 
					
						
							|  |  |  | test: | 
					
						
							| 
									
										
										
										
											2023-04-19 16:35:26 -04:00
										 |  |  | > cargo test --lib --test test_loader -- --test-threads $(TESTJOBS) | 
					
						
							| 
									
										
										
										
											2023-04-18 22:38:18 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | .PHONY: integrationtest | 
					
						
							|  |  |  | integrationtest: | 
					
						
							| 
									
										
										
										
											2023-04-19 16:35:26 -04:00
										 |  |  | > cargo test --no-fail-fast --test test_loader -- --test-threads $(TESTJOBS) | 
					
						
							| 
									
										
										
										
											2023-03-25 14:10:22 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-04-19 15:29:46 -04:00
										 |  |  | .PHONY: unittest | 
					
						
							|  |  |  | unittest: | 
					
						
							| 
									
										
										
										
											2023-04-19 16:35:26 -04:00
										 |  |  | > cargo test --lib -- --test-threads $(TESTJOBS) | 
					
						
							| 
									
										
										
										
											2023-04-19 15:29:46 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-25 14:10:22 -04:00
										 |  |  | .PHONY: run | 
					
						
							|  |  |  | run: | 
					
						
							|  |  |  | > cargo run | 
					
						
							| 
									
										
										
										
											2023-03-25 10:07:47 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-27 15:08:29 -04:00
										 |  |  | .PHONY: debug | 
					
						
							|  |  |  | debug: | 
					
						
							|  |  |  | > RUST_LOG=debug cargo run | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2023-03-25 10:07:47 -04:00
										 |  |  | .PHONY: jaeger | 
					
						
							|  |  |  | jaeger: | 
					
						
							| 
									
										
										
										
											2023-03-25 17:00:56 -04:00
										 |  |  | > docker run -d --rm --name toylanguagedocker -p 6831:6831/udp -p 6832:6832/udp -p 16686:16686 -p 14268:14268 jaegertracing/all-in-one:latest | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: jaegerweb | 
					
						
							|  |  |  | jaegerweb: | 
					
						
							|  |  |  | > xdg-open 'http://localhost:16686' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | .PHONY: jaegerstop | 
					
						
							|  |  |  | jaegerstop: | 
					
						
							|  |  |  | > docker stop toylanguagedocker |