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 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138
|
?tacl routine
#FRAME
SINK [#LOAD /keep 1/ commacs]
SINK [#LOAD /keep 1/ macros]
[#PUSH file prev memory clib OK model unzip lib accel unlicensed licensed
options fileset nocrypt crypt arg^value object^owner object^security
deflate64
]
#PUSH #DEFAULTS
#SET OK -1
== Customise the following values for your environment
#SET object^owner SUPER.DAVES
#SET object^security "UUUU"
[#LOOP |WHILE| [#MORE] |DO|
[#CASE [#ARGUMENT /VALUE arg^value/
KEYWORD /WORDLIST LARGE SMALL/
KEYWORD /WORDLIST NOWIDE WIDE/
KEYWORD /WORDLIST UNLICENSED/
KEYWORD /WORDLIST NOCRYPT/
KEYWORD /WORDLIST DEFLATE64 NODEFLATE64/
TEMPLATE FILENAME ]
|1| #SET memory [arg^value]
|2| #SET model [arg^value]
|3| #SET unlicensed [arg^value]
|4| #SET nocrypt [arg^value]
|5| #SET deflate64 [arg^value]
|6| #SET fileset [arg^value]
|OTHERWISE|
]
]
[#IF [#EMPTYV memory] |THEN| #SET memory LARGE]
[#IF [#EMPTYV model] |THEN| #SET model NOWIDE]
[#IF [#EMPTYV deflate64] |THEN| #SET deflate64 DEFLATE64]
[#IF model '=' "WIDE"
|THEN| #SETV clib model
|ELSE| #SETV clib memory
]
[#IF model '=' "WIDE"
|THEN|
#SET unzip UNZIPW
|ELSE|
#SET unzip UNZIPL
]
#SET lib [unzip]B
#SET accel UNZIP
#SET options [options], [model]
[#IF unlicensed '=' "UNLICENSED"
|THEN|
#SET unzip [unzip]U
#SET accel [accel]U
#SET lib [lib]U
|ELSE|
#SET licensed LICENSED
#SET options [options], define [licensed]
]
[#IF nocrypt '=' "NOCRYPT"
|THEN|
|ELSE|
#SET crypt USE_CRYPT
#SET options [options], define [crypt]
]
[#IF deflate64 '=' "NODEFLATE64"
|THEN|
#SET options [options], define NO_DEFLATE64
]
[#IF [#EMPTYV fileset] |THEN| #SET fileset *C]
#OUTPUT Files to compile: [fileset]
#OUTPUT Pointer Model : [model]
#OUTPUT Memory Model : [memory]
#OUTPUT C Library : [clib]
#OUTPUT Axcel Object : [accel]
#OUTPUT Run Object : [unzip]
#OUTPUT Library Object : [lib]
#OUTPUT Compile Options : [options]
#OUTPUT
#SET file [#FILENAMES /MAXIMUM 1/ [fileset]]
[#LOOP |while| NOT [#EMPTYV file]
|DO|
#SETV prev file
CC [file] $T.#UNZIP [options]
[#IF [tacl^completioncode] > 1 |THEN| #set OK 0 ]
#SET file [#FILENAMES /MAXIMUM 1, PREVIOUS [prev]/ [fileset]]
]
[#IF OK |THEN|
BBUNZIPLIB
[#IF [tacl^completioncode] > 0 |THEN| #SET OK 0]
]
#PUSH #PROCESSFILESECURITY
VOLUME ,"NUNU"
[#IF OK |THEN|
BBUNZIP [unzip] [clib]
[#IF [tacl^completioncode] > 0 |THEN| #SET OK 0]
]
[#IF OK |THEN|
secure^file [accel] [object^security] [object^owner]
accel^file [unzip] [accel]
[#IF [tacl^completioncode] > 0 |THEN| #SET OK 0]
]
[#IF OK
|THEN| #OUTPUT Successfully produced Accelerated Object [accel]
secure^file [accel] [object^security] [object^owner]
[#IF [#INTERACTIVE] |THEN|
[#IF licensed '=' "LICENSED" |THEN|
#OUTPUT [accel] will not run without being LICENSED
[#IF [#FILEINFO /LICENSED/ [accel]]
|THEN|
#OUTPUT [accel] already LICENSED
|ELSE|
[#IF [#MATCH Y* [#INPUT [accel] License [accel] ?]] |THEN|
fup^license [accel]
]
]
]
]
|ELSE| #OUTPUT Failed to produce Accelerated Object [accel]
]
#OUTPUT Finished
#UNFRAME
|