3
[#PUSH file stem src obj htime file prev time stime otime
4
comp out options sup buf col locn group
7
[#IF [#ARGUMENT /VALUE file/ WORD /SPACE/ END]]
8
[#IF [#EMPTYV file] |THEN|
9
#OUTPUT Syntax: CC <file> <collector> <comp-options>
14
[#IF NOT [#FILEINFO /EXISTENCE/ [file]]
16
#OUTPUT [file] does not exist !
21
#PUSH #DEFAULTS vol subvol
22
#SETMANY vol subvol src, [#FILEINFO /VOLUME, SUBVOL, FILE/ [file]]
26
#CHARDEL stem [#CHARCOUNT stem]
29
#CHARDEL stem [#CHARCOUNT stem]
31
[#IF [#ARGUMENT /VALUE out/ DEVICE END]]
32
[#IF [#EMPTYV out] |THEN| #SET out $T.#C]
34
#SETMANY col group, [#FILEINFO /VOLUME, SUBVOL/ [out]]
35
#SET locn [group].[stem]
36
#SET sup [#LOOKUPPROCESS /ANCESTOR/ [col]]
40
== Find newest Header file
42
#SET file [#FILENAMES /MAXIMUM 1/ *H]
43
[#LOOP |WHILE| NOT [#EMPTYV file]
45
#SET time [#FILEINFO /MODIFICATION/ [file]]
46
[#IF time > htime |THEN| #SETV htime time]
49
#SET file [#FILENAMES /MAXIMUM 1, PREVIOUS [prev]/ *H]
52
#SET stime [#FILEINFO /MODIFICATION/ [src]]
53
#SET otime [#FILEINFO /MODIFICATION/ [obj]]
59
#OUTPUT Header file(s) changed since object [obj] compiled
65
#OUTPUT Source file [src] changed since object [obj] compiled
71
SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS,DELETE !
73
#OUTPUT Compiling [src]... [options]
74
C /IN [src], OUT [out].[stem]/[obj];SYMBOLS,HIGHPIN [options]
75
[#CASE [tacl^completioncode]
77
#OUTPUT Compiled OK: [src]
78
SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS,DELETE !
79
#SET _completion:completioncode 0
81
#OUTPUT [src]: Compile Warnings
82
SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS
85
#OUTPUT [src]: Compile FAILED !
86
SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS
90
#OUTPUT Object file [obj] is up to date
91
#SET _completion:completioncode 0