11CLOSURE_COMPILER =java -jar closure-compiler/compiler.jar \
22 --warning_level VERBOSE \
33 --charset UTF-8 \
4- --compilation_level ADVANCED_OPTIMIZATIONS \
5- --output_wrapper '(function(){%output%})()'
4+ --language_in ECMASCRIPT5 \
5+ --compilation_level ADVANCED_OPTIMIZATIONS
66
77YUI_COMPRESSOR =java -jar yui-compressor/yuicompressor-2.4.4.jar \
88 --charset UTF-8
99
10- src/prettify.js : js-modules/* .js
11- if [ -e $@ ]; then chmod +w $@ ; fi
12- perl -e ' \
10+ TAR_ROOT =distrib/google-code-prettify
11+
12+ all : src/prettify.js distrib
13+
14+ clean :
15+ rm -rf distrib.tstamp distrib src/prettify.js
16+
17+ src/prettify.js : js-modules/* .js js-modules/* .pl
18+ @if [ -e $@ ]; then chmod +w $@ ; fi
19+ @perl -e ' \
1320 sub readInclude($$$$ ) {\
1421 my $$ prefix = $$ _[0]; \
1522 my $$ name = " js-modules/" . $$ _[1]; \
1623 my $$ buf = " " ; \
17- open(IN, " <$$ name" ) or die " $$ name: $$ !" ; \
24+ if ($$ name =~ /\. pl$$ /) {\
25+ open(IN, " |perl $$ name" ) or die " $$ name: $$ !" ; \
26+ } else {\
27+ open(IN, " <$$ name" ) or die " $$ name: $$ !" ; \
28+ }\
1829 while (< IN> ) {\
1930 $$ buf .= " $$ prefix$$ _" ; \
2031 }\
@@ -24,33 +35,57 @@ src/prettify.js: js-modules/*.js
2435 js-modules/prettify.js \
2536 > src/prettify.js \
2637 || rm src/prettify.js
27- if [ -e $@ ]; then chmod -w $@ ; fi
38+ @ if [ -e $@ ]; then chmod -w $@ ; fi
2839
29- distrib : distrib.tstamp distrib/google-code-prettify-minimized.tgz
40+ distrib : distrib.tstamp distrib/google-code-prettify-minimized.tgz \
41+ distrib/google-code-prettify-minimized.tar.bz2
42+ @wc -c distrib/google-code-prettify-minimized.{tar.bz2,tgz} \
43+ | grep -v total
3044
3145distrib.tstamp : src/* .js src/* .css
32- mkdir -p distrib/google-code-prettify
33- for f in src/* .css; do \
34- $(YUI_COMPRESSOR ) --type css $$ f > distrib/google-code-prettify/$$(basename $$f) ; \
46+ @echo Compiling
47+ @mkdir -p $(TAR_ROOT )
48+ @for f in src/* .css; do \
49+ $(YUI_COMPRESSOR ) --type css $$ f \
50+ > $(TAR_ROOT ) /$$(basename $$f) ; \
51+ wc -c $$ f $(TAR_ROOT ) /$$(basename $$f) \
52+ | grep -v total; \
3553 done
36- $(CLOSURE_COMPILER ) --js src/prettify.js --externs closure-compiler/console-externs.js \
37- > distrib/google-code-prettify/prettify.js
38- for f in src/lang* .js; do \
39- $(CLOSURE_COMPILER ) --js $$ f --externs js-modules/externs.js \
40- | perl -pe ' s/\bPR\.PR_ATTRIB_NAME\b/"atn"/g; \
41- s/\b PR\. PR_ATTRIB_VALUE\b /" atv" /g; \
42- s/\b PR\. PR_COMMENT\b /" com" /g; \
43- s/\b PR\. PR_DECLARATION\b /" dec" /g; \
44- s/\b PR\. PR_KEYWORD\b /" kwd" /g; \
45- s/\b PR\. PR_LITERAL\b /" lit" /g; \
46- s/\b PR\. PR_PLAIN\b /" pln" /g; \
47- s/\b PR\. PR_PUNCTUATION\b /" pun" /g; \
48- s/\b PR\. PR_STRING\b /" str" /g; \
49- s/\b PR\. PR_TAG\b /" tag" /g; \
50- s/\b PR\. PR_TYPE\b /" typ" /g; ' \
51- > distrib/google-code-prettify/$$(basename $$f) ; \
54+ @$(CLOSURE_COMPILER ) --js src/prettify.js \
55+ --externs closure-compiler/console-externs.js \
56+ | perl -e ' binmode STDIN, ":utf8";' -pe ' s/\xA0/\\xa0/' \
57+ > $(TAR_ROOT ) /prettify.js
58+ @wc -c src/prettify.js $(TAR_ROOT ) /prettify.js \
59+ | grep -v total
60+ @for f in src/lang* .js; do \
61+ if [ $$ f -nt $( TAR_ROOT) /$$ (basename $$ f) ]; then \
62+ $(CLOSURE_COMPILER ) --js $$ f --externs js-modules/externs.js \
63+ | perl -e ' binmode STDIN, ":utf8";' -pe ' s/\xA0/\\xa0/' \
64+ | perl -pe ' s/\bPR\.PR_ATTRIB_NAME\b/"atn"/g; \
65+ s/\b PR\. PR_ATTRIB_VALUE\b /" atv" /g; \
66+ s/\b PR\. PR_COMMENT\b /" com" /g; \
67+ s/\b PR\. PR_DECLARATION\b /" dec" /g; \
68+ s/\b PR\. PR_KEYWORD\b /" kwd" /g; \
69+ s/\b PR\. PR_LITERAL\b /" lit" /g; \
70+ s/\b PR\. PR_PLAIN\b /" pln" /g; \
71+ s/\b PR\. PR_PUNCTUATION\b /" pun" /g; \
72+ s/\b PR\. PR_STRING\b /" str" /g; \
73+ s/\b PR\. PR_TAG\b /" tag" /g; \
74+ s/\b PR\. PR_TYPE\b /" typ" /g; ' \
75+ > $(TAR_ROOT ) /$$(basename $$f) ; \
76+ wc -c $$ f $(TAR_ROOT ) /$$(basename $$f) \
77+ | grep -v total; \
78+ fi \
5279 done
53- touch distrib.tstamp
80+ @touch distrib.tstamp
81+
82+ % .tgz : % .tar
83+ @gzip -c -9 $^ > $@
84+
85+ % .tar.bz2 : % .tar
86+ @bzip2 -9f $^
5487
55- distrib/google-code-prettify-minimized.tgz : distrib/google-code-prettify/*
56- pushd distrib; tar cfz google-code-prettify-minimized.tgz google-code-prettify; popd
88+ distrib/google-code-prettify-minimized.tar : distrib.tstamp
89+ @pushd distrib >& /dev/null; \
90+ tar cf ../$@ google-code-prettify; \
91+ popd >& /dev/null
0 commit comments