]> git.saurik.com Git - cycript.git/blobdiff - unicode.mk
new operator must return JSObject even for errors.
[cycript.git] / unicode.mk
index dc88024de6562b01298cd390ef625eba686a68d8..a934a406a0afcf53d27404af2f7fa2708ef14bfc 100644 (file)
@@ -1,5 +1,5 @@
-# Cycript - Optimizing JavaScript Compiler/Runtime
-# Copyright (C) 2009-2015  Jay Freeman (saurik)
+# Cycript - The Truly Universal Scripting Language
+# Copyright (C) 2009-2016  Jay Freeman (saurik)
 
 # GNU Affero General Public License, Version 3 {{{
 #
 
 # GNU Affero General Public License, Version 3 {{{
 #
 
 .DELETE_ON_ERROR:
 
 
 .DELETE_ON_ERROR:
 
-unicode := unicode.sh unicode.py
+unicode := unicode.sh
 
 unicode += DerivedCoreProperties.txt
 unicode += PropList.txt
 
 unicode += DerivedCoreProperties.txt
 unicode += PropList.txt
+unicode += JavaScript.txt
 
 
-all: UnicodeIDStart.l UnicodeIDContinue.l
+files := 
+
+all: NotLineTerminator.l UnicodeIDStart.l UnicodeIDContinue.l IdentifierStart.h IdentifierContinue.h
 
 %.txt:
        wget -qc http://www.unicode.org/Public/UCD/latest/ucd/$@
 
 
 %.txt:
        wget -qc http://www.unicode.org/Public/UCD/latest/ucd/$@
 
-UnicodeIDStart.l: $(unicode)
-       ./unicode.sh UnicodeIDStart ID_Start DerivedCoreProperties.txt Other_ID_Start PropList.txt >$@
+files += NotLineTerminator.l
+NotLineTerminator.l: unicode-l.py
+       printf '80..2027\n202a..10ffff\n' | ./unicode-l.py NotLineTerminator >$@
+
+files += UnicodeIDStart.l
+UnicodeIDStart.l: $(unicode) unicode-l.py
+       ./unicode.sh ID_Start DerivedCoreProperties.txt Other_ID_Start PropList.txt | ./unicode-l.py UnicodeIDStart >$@
+
+files += UnicodeIDContinue.l
+UnicodeIDContinue.l: $(unicode) unicode-l.py
+       ./unicode.sh ID_Continue DerivedCoreProperties.txt Other_ID_Continue PropList.txt | ./unicode-l.py UnicodeIDContinue >$@
+
+files += IdentifierStart.h
+IdentifierStart.h: $(unicode) unicode-c.sh
+       ./unicode.sh ID_Start DerivedCoreProperties.txt Other_ID_Start PropList.txt JavaScript_ID_Start JavaScript.txt | ./unicode-c.sh IdentifierStart >$@
+
+files += IdentifierContinue.h
+IdentifierContinue.h: $(unicode) unicode-c.sh
+       ./unicode.sh ID_Continue DerivedCoreProperties.txt Other_ID_Continue PropList.txt JavaScript_ID_Continue JavaScript.txt | ./unicode-c.sh IdentifierContinue >$@
 
 
-UnicodeIDContinue.l: $(unicode)
-       ./unicode.sh UnicodeIDContinue ID_Continue DerivedCoreProperties.txt Other_ID_Continue PropList.txt >$@
+clean:
+       rm -f $(files)
 
 
-.PHONY: all
+.PHONY: all clean