-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
74 lines (65 loc) · 1.73 KB
/
Makefile
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# snapbox
# HTTP Client Library for Jule
# https://github.com/adamperkowski/snapbox
# Copyright (c) 2025, Adam Perkowski
# BSD 3-Clause License
JULEC = julec
JULEFMT = julefmt
JULEDOC = juledoc
NAME = snapbox
MODULES = status header
EXAMPLES = simpleGET simpleHEAD simplePOST simplePUT simpleDELETE simpleDownload
LIB = $(NAME).jule $(MODULES) internal jule.mod LICENSE README.md
examples:
mkdir -p examples/bin
@for example in $(EXAMPLES); do \
cd examples/$$example; \
echo "Building $$example..."; \
if ! $(JULEC) . -o ../bin/$$example; then \
exit 1; \
fi; \
cd ../..; \
done
run-examples: examples
echo
@for example in $(EXAMPLES); do \
echo -e "Running $$example..."; \
./examples/bin/$$example $(TESTARGS); \
echo; \
done
format:
$(JULEFMT) -w .
@for module in $(MODULES); do \
$(JULEFMT) -w $$module; \
done
@for example in $(EXAMPLES); do \
$(JULEFMT) -w examples/$$example; \
done
test:
mkdir -p bin
$(JULEC) test . -o bin/$(NAME)
./bin/$(NAME)
@for module in $(MODULES); do \
echo "Testing $(NAME)/$$module..."; \
if ! $(JULEC) test $$module -o bin/$$module; then \
exit 1; \
fi; \
./bin/$$module; \
done
doc:
sed -i '/# API Reference/,$$d' book/src/SUMMARY.md;
echo '# API Reference' >> book/src/SUMMARY.md;
$(JULEDOC) . > book/src/api/$(NAME).md;
echo "- [$(NAME)](./api/$(NAME).md)" >> book/src/SUMMARY.md;
@for module in $(MODULES); do \
$(JULEDOC) $$module > book/src/api/$$module.md; \
echo "- [$(NAME)/$$module](./api/$$module.md)" >> book/src/SUMMARY.md; \
done
package:
mkdir -p $(NAME)
cp -R $(LIB) $(NAME)
tar -czf $(NAME)-$(VERSION).tar.gz $(NAME)
zip -r $(NAME)-$(VERSION).zip $(NAME)
clean:
rm -rf bin examples/bin $(NAME) *.tar.gz *.zip
.PHONY: examples format test clean