-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
60 lines (51 loc) · 1.48 KB
/
Makefile
File metadata and controls
60 lines (51 loc) · 1.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
VERSION=1.0
NAME=rust-makefile
EXEC=rust-exec
PREFIX=$(HOME)/.local
default: build_release
clean:
@echo "Cleaning build dir"
@rm -rf target/*
@echo "Cleaning using cargo"
@cargo clean
check:
@echo "Checking $(NAME)"
@cargo check
build_release:
@echo "Building release: $(VERSION)"
@cargo build --release
build_debug:
@echo "Building debug"
@cargo build
run:
@echo "Running debug"
@cargo run
install_debug: build_debug
@echo "Installing debug"
@cp target/debug/$(EXEC) $(PREFIX)/bin
install: build_release
@echo "Installing release: $(VERSION)"
@cp target/release/$(EXEC) $(PREFIX)/bin
dist: build_release
@if [ ! -d ./pkg ]; \
then \
mkdir ./pkg; \
fi
@if [ -d ./pkg/$(NAME)-$(VERSION) ]; \
then \
echo "Current version number already exists! Removing old files!"; \
rm -rf ./pkg/$(NAME)-$(VERSION); \
fi
@mkdir ./pkg/$(NAME)-$(VERSION)
@cp ./dist-scripts/install.sh ./pkg/$(NAME)-$(VERSION)/
@sed -i 's#{prefix}#$(PREFIX)#g' ./pkg/$(NAME)-$(VERSION)/install.sh
@sed -i 's#{version}#$(VERSION)#g' ./pkg/$(NAME)-$(VERSION)/install.sh
@sed -i 's#{name}#$(NAME)#g' ./pkg/$(NAME)-$(VERSION)/install.sh
@sed -i 's#{exec}#$(EXEC)#g' ./pkg/$(NAME)-$(VERSION)/install.sh
@mkdir ./pkg/$(NAME)-$(VERSION)/files
@cp target/release/$(EXEC) ./pkg/$(NAME)-$(VERSION)/files/
@strip ./pkg/$(NAME)-$(VERSION)/files/$(EXEC)
@cp LICENSE ./pkg/$(NAME)-$(VERSION)/
@cd ./pkg && tar -czf ./$(NAME)-$(VERSION).tar.gz ./$(NAME)-$(VERSION)
@echo "Cleaning up"
@rm -rf ./pkg/$(NAME)-$(VERSION)