File: compile.com

package info (click to toggle)
pgplot5 5.2-8
  • links: PTS
  • area: non-free
  • in suites: slink
  • size: 6,268 kB
  • ctags: 5,900
  • sloc: fortran: 37,938; ansic: 18,809; sh: 1,136; objc: 532; perl: 443; makefile: 271; pascal: 233; tcl: 178; awk: 51; csh: 25
file content (112 lines) | stat: -rw-r--r-- 3,654 bytes parent folder | download | duplicates (4)
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
$! Recompile PGPLOT. 
$! Input files: [.SRC]*.F, PGPLOT.INC, GRPCKG1.INC
$!              [.SYS_VMS]*.F
$!              [.DRIVERS]%%DRIV.F
$! Creates:      GRPCKG.OLB  (object-module library).
$!----------------------------------------------------------------------
$ DELETE = "DELETE/NOLOG/NOCONFIRM"
$ PURGE  = "PURGE/NOLOG/NOCONFIRM"
$! Different setup required for VAX and 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:
$  WRITE SYS$OUTPUT "OpenVMS VAX"
$  FCOMPILE = "FORTRAN/NOWARN"
$  CCOMPILE = "CC"
$  GOTO START
$AXP:
$  WRITE SYS$OUTPUT "OpenVMS AXP"
$  FCOMPILE = "FORTRAN/NOWARN/SEPARATE_COMPILATION"
$  CCOMPILE = "CC/STANDARD=VAXC"
$  GOTO START
$START:
$!----------------------------------------------------------------------
$ ON ERROR THEN EXIT
$ PGPLOT   = P1
$ SRC      = PGPLOT - "]" + ".SRC]"
$ VMS      = PGPLOT - "]" + ".SYS_VMS]"
$ DRV      = PGPLOT - "]" + ".DRIVERS]"
$ MOTIF    = PGPLOT - "]" + ".DRIVERS.XMOTIF]"
$ WSO      = "WRITE SYS$OUTPUT"
$!
$! Create the object-module library.
$!
$ WSO "Creating object-module library"
$ LIBRARY/CREATE=(BLOCKS:200)/LOG TEMP.OLB 
$!
$! Compile GRPCKG and PGPLOT.
$!
$ WSO "Compiling PGPLOT library routines from ", SRC
$! (Include files must be in current directory)
$ COPY 'SRC'PGPLOT.INC,GRPCKG1.INC []
$!WSO "(Ignore messages about variables that were declared but not used)"
$   COPY/CONCAT 'SRC'*.F TEMP.FOR
$   FCOMPILE TEMP/NODEBUG
$   LIBRARY/REPLACE TEMP TEMP
$   DELETE TEMP.OBJ;*,TEMP.FOR;*
$ WSO "Compiling VMS-specific routines"
$   COPY/CONCAT 'VMS'*.F TEMP.FOR
$   FCOMPILE TEMP/NODEBUG
$   LIBRARY/REPLACE TEMP TEMP
$   DELETE TEMP.OBJ;*,TEMP.FOR;*
$CLOOP:
$   FILE = F$SEARCH(VMS+"*.C")
$   IF FILE .EQS. "" THEN GOTO ENDCLOOP
$   FILEX = F$PARSE(FILE,,,"NAME","SYNTAX_ONLY")
$   WSO FILEX
$     CCOMPILE/NODEBUG 'FILE'
$     LIBRARY/REPLACE TEMP 'FILEX'.OBJ
$     DELETE 'FILEX'.OBJ;*
$   GOTO CLOOP
$ENDCLOOP:
$ WSO "Compiling Fortran Device Handlers"
$LOOP:
$ FILE = F$SEARCH(DRV+"%%DRIV.F")
$ IF FILE .EQS. "" THEN GOTO ENDLOOP
$ FILEX = F$PARSE(FILE,,,"NAME","SYNTAX_ONLY")
$ WSO FILEX
$   FCOMPILE/NODEBUG 'FILE'
$   LIBRARY/REPLACE TEMP 'FILEX'.OBJ
$   DELETE 'FILEX'.OBJ;*
$ GOTO LOOP
$ENDLOOP:
$!------ Delete the following lines if you do not have a C compiler ----
$ WSO "Compiling /XWINDOW Device Handler"
$   DEFINE/NOLOG X11 DECW$INCLUDE
$   CCOMPILE 'DRV'xwdriv.c
$   LIBRARY/REPLACE TEMP xwdriv.obj
$   DELETE xwdriv.obj;*
$ WSO "Compiling /XDISP Device Handler"
$   DEFINE/NOLOG X11 DECW$INCLUDE
$   CCOMPILE 'DRV'x2driv.c
$   CCOMPILE 'DRV'figdisp_comm.c
$   LIBRARY/REPLACE TEMP x2driv.obj,figdisp_comm.obj
$   DELETE x2driv.obj;*,figdisp_comm.obj;
$ WSO "Compiling /XMOTIF Device Handler stub"
$   CCOMPILE 'DRV'xmdriv.c
$   LIBRARY/REPLACE TEMP xmdriv.obj
$   DELETE xmdriv.obj;*
$!------ End delete ----------------------------------------------------
$ SET FILE/PROT=(O:RWED) PGPLOT.INC,GRPCKG1.INC
$ DELETE PGPLOT.INC;*,GRPCKG1.INC;*
$!
$ RENAME TEMP.OLB GRPCKG.OLB
$ SET FILE/PROTECTION=(S:RWED,O:RWED,G:RE,W:RE) GRPCKG.OLB;*
$ PURGE GRPCKG.OLB
$!
$! Compile the pgxwin_server
$!
$!------ Delete the following lines if you do not have a C compiler ----
$ WSO "Compiling PGXWIN_SERVER program for use with /XWINDOW"
$ CCOMPILE 'DRV'pgxwin_server.c
$ LINK/NOUSER pgxwin_server,sys$input:/opt
sys$share:DECW$XLIBSHR.EXE/share
$ DELETE pgxwin_server.obj;*
$ SET FILE/PROTECTION=(S:RWED,O:RWED,G:RE,W:RE) pgxwin_server.exe;*
$ PURGE pgxwin_server.exe
$!------ End delete ----------------------------------------------------
$ EXIT