File: makewip.com

package info (click to toggle)
wip 2p3-7
  • links: PTS
  • area: non-free
  • in suites: sarge
  • size: 3,192 kB
  • ctags: 893
  • sloc: ansic: 13,307; csh: 962; makefile: 122; sed: 92
file content (143 lines) | stat: -rw-r--r-- 3,760 bytes parent folder | download | duplicates (5)
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
139
140
141
142
143
$! DCL command procedure to compile WIP for
$! OpenVMS VAX and OpenVMS Alpha (AXP) systems.
$!
$! Requires one input argument: the WIP root directory.
$! This should be run in the directory where the PGPLOT
$! include files and libraries reside.  The WIP.OPT may
$! need to be modified depending on the drivers selected.
$!
$! To be able to specify command-line options, define
$! WIP as a "foreign command":
$!   $ WIP == "$ECC1:[TJP.PGPLOT]WIP"
$! (remember to substitute the correct disk and directory,
$! but keep the $ sign).
$!
$! History:
$! 20jan98 jm  Modified from PGPLOT's sys_vms MAKE_CPG.COM.
$!
$!----------------------------------------------------------------------
$ DELETE = "DELETE/NOLOG/NOCONFIRM"
$ PURGE  = "PURGE/NOLOG/NOCONFIRM"
$ ECHO   = "WRITE SYS$OUTPUT"
$!
$ ON WARNING THEN EXIT
$ PROC     = P1
$ IF PROC.EQS."" THEN PROC = "[]"
$ WIP      = F$PARSE(PROC,,,"DEVICE","SYNTAX_ONLY") + -
             F$PARSE(PROC,,,"DIRECTORY","SYNTAX_ONLY")
$!
$ SRC      = WIP - "]" + ".SRC]"
$ INC      = SRC - "]" + ".INCLUDE]"
$ BRANCH   = SRC - "]" + ".BRANCH]"
$ DRIVERS  = SRC - "]" + ".DRIVERS]"
$ FIT      = SRC - "]" + ".FIT]"
$ IMAGES   = SRC - "]" + ".IMAGES]"
$ INTERACT = SRC - "]" + ".INTERACT]"
$ PLOT     = SRC - "]" + ".PLOT]"
$ SYSDEP   = SRC - "]" + ".SYSDEP]"
$ VARIABLE = SRC - "]" + ".VARIABLES]"
$ WIPHELP  = WIP + "WIPHELP.DAT"
$!
$! Check for VMS or AXP.
$!
$ ON WARNING THEN GOTO VAX
$ MACHINE=F$GETSYI("ARCH_NAME")
$ IF MACHINE .EQS. "AXP" THEN GOTO AXP
$ IF MACHINE .EQS. "Alpha" THEN GOTO AXP
$ GOTO VAX
$VAX:
$  ECHO "OpenVMS VAX"
$  MACHINE="VAX"
$  CCOMP = "CC"
$  GOTO START
$AXP:
$  ECHO "OpenVMS AXP"
$  CCOMP = "CC/STANDARD=VAXC"
$  GOTO START
$START:
$ CCOMPILE = CCOMP + /NODEBUG + /INCLUDE_DIRECTORY=('INC',[])
$!
$ ON WARNING THEN GOTO EXIT
$!
$! Check that the cpg routines exist.
$!
$ IF F$SEARCH("cpgplot.h") .EQS. ""
$ THEN
$    ECHO "Install CPG first!"
$    EXIT
$ ENDIF
$!
$! Check that the main file exists.
$!
$ MAINFILE = F$SEARCH(BRANCH+"WIPMAIN.C")
$ IF MAINFILE .EQS. ""
$ THEN
$    ECHO "WIP Directory structure is invalid!"
$    EXIT
$ ENDIF
$!
$! Create the object-module library.
$!
$ ECHO "Creating object-module library"
$ LIBRARY/CREATE=(BLOCKS:200)/NOLOG TEMP.OLB 
$!
$! Compile the WIP routines and insert them in the library.
$!
$ ECHO "Compiling WIP library routines from ", SRC
$!
$ CALL COMPILE 'BRANCH'
$ CALL COMPILE 'DRIVERS'
$ CALL COMPILE 'FIT'
$ CALL COMPILE 'IMAGES'
$ CALL COMPILE 'INTERACT'
$ CALL COMPILE 'PLOT'
$ CALL COMPILE 'SYSDEP'
$ CALL COMPILE 'VARIABLE'
$!
$ RENAME TEMP.OLB LIBWIP.OLB
$ SET FILE/PROTECTION=(S:RWED,O:RWED,G:RE,W:RE) LIBWIP.OLB;*
$ PURGE LIBWIP.OLB
$!
$! Create an option list.  This may need to be
$! modified depending on the devices installed.
$!
$ CREATE WIP.OPT
pgplot_dir:LIBWIP.OLB/lib
pgplot_dir:CPGPLOT.OLB/lib
pgplot_dir:GRPCKG.OLB/lib
SYS$SHARE:DECW$XLIBSHR.EXE/share
SYS$SHARE:DECC$SHR.EXE/share
$!
$! Compile the main program.
$!
$ ECHO "Compiling main program WIP.EXE"
$ CCOMPILE 'BRANCH'WIPMAIN.C /DEFINE=(WIPVMS)
$ LINK/EXEC=WIP.EXE WIPMAIN, WIP.OPT/OPT
$ DELETE WIPMAIN.OBJ;*
$ SET PROTECTION=(S:RWED,O:RWED,G:RE,W:RE) WIP.EXE
$ PURGE WIP.EXE
$!
$! All done.
$!
$EXIT:
$ EXIT
$!
$! Subroutine called to compile the files in each directory.
$!
$COMPILE:
$ SUBROUTINE
$   ECHO "Compiling WIP library routines in ", P1
$   FILES = P1 + "*.C"
$LOOP:
$     FILE = F$SEARCH(FILES)
$     IF FILE .EQS. ""       THEN GOTO ENDLOOP
$     IF FILE .EQS. MAINFILE THEN GOTO LOOP
$     NAME = F$PARSE(FILE,,,"NAME","SYNTAX_ONLY")
$     ECHO NAME
$       CCOMPILE 'FILE' /DEFINE=(WIPVMS,"HELPFILE=""''WIPHELP'""")
$       LIBRARY/REPLACE TEMP 'NAME'.OBJ
$       DELETE 'NAME'.OBJ;*
$     GOTO LOOP
$   ENDLOOP:
$ ENDSUBROUTINE
$! End of script