~ubuntu-branches/ubuntu/edgy/unzip/edgy

« back to all changes in this revision

Viewing changes to tandem/commacs

  • Committer: Bazaar Package Importer
  • Author(s): Santiago Vila
  • Date: 2004-06-06 17:57:46 UTC
  • Revision ID: james.westby@ubuntu.com-20040606175746-nl7p2dgp3aobyc2c
Tags: upstream-5.51
ImportĀ upstreamĀ versionĀ 5.51

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
?section CC ROUTINE
 
2
#FRAME
 
3
[#PUSH file stem src obj htime file prev time stime otime
 
4
       comp out options sup buf col locn group
 
5
]
 
6
 
 
7
[#IF [#ARGUMENT /VALUE file/ WORD /SPACE/ END]]
 
8
[#IF [#EMPTYV file] |THEN|
 
9
  #OUTPUT Syntax: CC <file> <collector> <comp-options>
 
10
  #RESET FRAMES
 
11
  #RETURN
 
12
]
 
13
 
 
14
[#IF NOT [#FILEINFO /EXISTENCE/ [file]]
 
15
|THEN|
 
16
  #OUTPUT [file] does not exist !
 
17
  #RESET FRAMES
 
18
  #RETURN
 
19
]
 
20
 
 
21
#PUSH #DEFAULTS vol subvol
 
22
#SETMANY vol subvol src, [#FILEINFO /VOLUME, SUBVOL, FILE/ [file]]
 
23
VOLUME [vol].[subvol]
 
24
 
 
25
#SETV stem file
 
26
#CHARDEL stem [#CHARCOUNT stem]
 
27
#SET obj [stem]O
 
28
#SETV stem src
 
29
#CHARDEL stem [#CHARCOUNT stem]
 
30
 
 
31
[#IF [#ARGUMENT /VALUE out/ DEVICE END]]
 
32
[#IF [#EMPTYV out] |THEN| #SET out $T.#C]
 
33
 
 
34
#SETMANY col group, [#FILEINFO /VOLUME, SUBVOL/ [out]]
 
35
#SET locn [group].[stem]
 
36
#SET sup [#LOOKUPPROCESS /ANCESTOR/ [col]]
 
37
 
 
38
#SET options [#REST]
 
39
 
 
40
== Find newest Header file
 
41
#SET htime 0
 
42
#SET file [#FILENAMES /MAXIMUM 1/ *H]
 
43
[#LOOP |WHILE| NOT [#EMPTYV file]
 
44
|DO|
 
45
  #SET time [#FILEINFO /MODIFICATION/ [file]]
 
46
  [#IF time > htime |THEN| #SETV htime time]
 
47
 
 
48
  #SETV prev file
 
49
  #SET file [#FILENAMES /MAXIMUM 1, PREVIOUS [prev]/ *H]
 
50
]
 
51
 
 
52
#SET stime [#FILEINFO /MODIFICATION/ [src]]
 
53
#SET otime [#FILEINFO /MODIFICATION/ [obj]]
 
54
 
 
55
#SET comp 0
 
56
 
 
57
[#IF otime < htime
 
58
|THEN|
 
59
  #OUTPUT Header file(s) changed since object [obj] compiled
 
60
  #SET comp -1
 
61
]
 
62
 
 
63
[#IF otime < stime
 
64
|THEN|
 
65
  #OUTPUT Source file [src] changed since object [obj] compiled
 
66
  #SET comp -1
 
67
]
 
68
 
 
69
[#IF comp
 
70
|THEN|
 
71
  SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS,DELETE !
 
72
  #SET buf
 
73
  #OUTPUT Compiling [src]... [options]
 
74
  C /IN [src], OUT [out].[stem]/[obj];SYMBOLS,HIGHPIN [options]
 
75
  [#CASE [tacl^completioncode]
 
76
  | 0 |
 
77
    #OUTPUT Compiled OK: [src]
 
78
    SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS,DELETE !
 
79
    #SET _completion:completioncode 0
 
80
  | 1 |
 
81
    #OUTPUT [src]: Compile Warnings
 
82
    SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS
 
83
    #OUTPUTV buf
 
84
  |OTHERWISE|
 
85
    #OUTPUT [src]: Compile FAILED !
 
86
    SPOOLCOM /OUTV buf/ OPEN [sup];JOB (OWNER, LOC [locn]),STATUS
 
87
    #OUTPUTV buf
 
88
  ]
 
89
|ELSE|
 
90
  #OUTPUT Object file [obj] is up to date
 
91
  #SET _completion:completioncode 0
 
92
]
 
93
 
 
94
#UNFRAME