forked from bitwiseshiftleft/sjcl
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
94 lines (70 loc) · 2.66 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
JSDOCSTYLE= codeview
JSDOCDIR= jsdoc_toolkit-2.3.3-beta
JSDOC= $(JSDOCDIR)/jsrun.sh
JSTEMPLATEDIR= $(JSDOCDIR)/templates/$(JSDOCSTYLE)/
YUICOMPRESSOR= yuicompressor-2.4.2.jar
include config.mk
.PHONY: all test test_yui test_closure test_uncompressed lint compression_stats
all: sjcl.js
sjcl.js: $(COMPRESS)
cp $^ $@
core.js: $(SOURCES) config.mk
cat $(SOURCES) > $@
# compressed targets
core_closure.js: core.js compress/compress_with_closure.sh compress/*.pl
compress/compress_with_closure.sh $< > $@
core_yui.js: core.js compress/compress_with_yui.sh compress/*.pl
compress/compress_with_yui.sh $< > $@
compression_stats: core.js core_closure.js core_yui.js
gzip -c core.js > core.js.gz
gzip -c core_yui.js > core_yui.js.gz
gzip -c core_closure.js > core_closure.js.gz
@echo
@echo
@echo Compression stats:
@echo
@wc -c core.js core_closure.js core_yui.js | head -n -1
@echo
@wc -c core*.js.gz | head -n -1
@echo
@echo
rm -f core*.js.gz
doc: $(SOURCES)
rm -fr $@
JSDOCDIR=$(JSDOCDIR) $(JSDOC) -t=$(JSTEMPLATEDIR) $(SOURCES) -d=$@
doc_private: $(SOURCES)
rm -fr $@
JSDOCDIR=$(JSDOCDIR) $(JSDOC) -t=$(JSTEMPLATEDIR) $(SOURCES) --private -d=$@
lint: core.js core/*.js test/*.js browserTest/*.js lint/coding_guidelines.pl
rhino lint/jslint_rhino.js core.js
lint/coding_guidelines.pl core/*.js test/*.js browserTest/*.js
TEST_COMMON= browserTest/rhinoUtil.js test/test.js
TEST_SCRIPTS= $(TEST_COMMON) \
test/aes_vectors.js test/aes_test.js \
test/ocb2_vectors.js test/ocb2_test.js \
test/ccm_vectors.js test/ccm_test.js \
test/cbc_vectors.js test/cbc_test.js \
test/gcm_vectors.js test/gcm_test.js \
test/sha256_vectors.js test/sha256_test.js \
test/sha256_test_brute_force.js \
test/sha1_vectors.js test/sha1_test.js \
test/hmac_vectors.js test/hmac_test.js \
test/pbkdf2_test.js \
test/bn_vectors.js test/bn_test.js \
test/ecdsa_test.js test/ecdh_test.js
TEST_SCRIPTS_OPT= $(TEST_COMMON) \
test/srp_vectors.js test/srp_test.js
# Rhino fails at -O 0. Probably because the big files full of test vectors blow the
# bytecode limit. So, run most tests with -O -1. But modular exponentiation is
# currently very slow (on Rhino), so run the SRP test with optimizations on.
test: sjcl.js $(TEST_SCRIPTS) test/run_tests_rhino.js
@rhino -O -1 -w test/run_tests_rhino.js $< $(TEST_SCRIPTS)
@rhino -O 9 -w test/run_tests_rhino.js $< $(TEST_SCRIPTS_OPT)
tidy:
find . -name '*~' -delete
rm -f core.js core_*.js
clean: tidy
rm -fr sjcl.js doc doc_private
distclean: clean
./configure
make sjcl.js tidy