File: make_cpg.com

package info (click to toggle)
pgplot5 5.2.2-14
  • links: PTS
  • area: non-free
  • in suites: lenny
  • size: 6,912 kB
  • ctags: 6,400
  • sloc: fortran: 38,637; ansic: 22,549; objc: 1,534; sh: 1,304; makefile: 366; perl: 234; pascal: 233; tcl: 190; awk: 51; csh: 25
file content (75 lines) | stat: -rw-r--r-- 1,968 bytes parent folder | download | duplicates (15)
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
$! DCL command procedure to compile C binding for PGPLOT for
$! OpenVMS VAX and AXP
$!----------------------------------------------------------------------
$ DELETE = "DELETE/NOLOG/NOCONFIRM"
$ PURGE  = "PURGE/NOLOG/NOCONFIRM"
$!
$ ON WARNING THEN EXIT
$ PROC     = P1
$ IF PROC.EQS."" THEN PROC = "[]"
$ PGPLOT   = F$PARSE(PROC,,,"DEVICE","SYNTAX_ONLY") + -
             F$PARSE(PROC,,,"DIRECTORY","SYNTAX_ONLY")
$ CPG      = PGPLOT - "]" + ".CPG]"
$ SRC      = PGPLOT - "]" + ".SRC]"
$ ECHO     = "WRITE SYS$OUTPUT"
$!
$! Check for VMS or AXP.
$!
$ ON WARNING THEN GOTO VAX
$ MACHINE=F$GETSYI("ARCH_NAME")
$ GOTO START
$ VAX:  MACHINE="VAX"
$ START:  ON WARNING THEN GOTO EXIT
$!
$! Compile the PGBIND program.
$!
$ ECHO "Compiling PGBIND for OpenVMS ", MACHINE
$ CC 'CPG'PGBIND.C
$ IF MACHINE .EQS. "VAX"
$ THEN
$    LINK PGBIND, SYS$INPUT:/OPT
     SYS$SHARE:VAXCRTL/SHARE
$ ELSE
$    LINK PGBIND
$ ENDIF
$ PGBIND == "$"+F$SEARCH("PGBIND.EXE", 3)
$!
$! Run PGBIND to generate the header file and wrapper routines.
$!
$ ECHO "Creating C header file and C wrapper routines"
$ SEARCH 'SRC'PG*.F "C%" /NOHEADING/OUTPUT=PROTO.TXT
$ PGBIND vms -h -w PROTO.TXT
$!
$! Compile them.
$!
$ ECHO "Compiling C wrapper routines"
$ FILES = "CPG*.C"
$LOOP:
$   FILE = F$SEARCH(FILES,1)
$   IF FILE .EQS. "" THEN GOTO ENDLOOP
$   NAME = F$PARSE(FILE,,,"NAME","SYNTAX_ONLY")
$   ECHO NAME
$   CC/NOWARNINGS 'FILE'
$   GOTO LOOP
$ ENDLOOP:
$!
$! Create the library.
$!
$ ECHO "Creating PGPLOT C interface library"
$ LIBRARY/CREATE/NOLOG CPGPLOT.OLB CPG*.OBJ
$ PURG CPGPLOT.OLB
$!
$! Remove intermediate files.
$!
$ DELETE pgbind.obj;*,pgbind.exe;*,cpg*.obj;*,cpg*.c;*,proto.txt;*
$!
$! Compile the demo program.
$!
$ ECHO "Compiling demo program CPGDEMO"
$ CC 'CPG'CPGDEMO /INCLUDE_DIRECTORY=[]
$ LINK/NOUSER CPGDEMO,CPGPLOT.OLB/LIB,GRPSHR.OLB/LIB
$ DELETE CPGDEMO.OBJ;*
$ PURGE  CPGDEMO.EXE
$ SET PROT=(S:RWED,O:RWED,G:RE,W:RE) cpgplot.h, cpgplot.olb, cpgdemo.exe
$!
$ EXIT:  EXIT