1
$ save_verify='f$verify(0)
4
$! Compile and link for xskewb
7
$! @make [debug clobber clean]
8
$! debug : compile with debugger switch
9
$! clean : clean all except executable
10
$! clobber : clean all
13
$! XVMSUTILS library (VMS6.2 or lower)
16
$! insert the correct directory instead of X11:
17
$ xvmsutilsf="X11:XVMSUTILS.OLB"
18
$ xpmf="SYS$LIBRARY:LIBXPM.OLB"
19
$ glf="GL:LIBMESAGL.OLB"
20
$ glf_share="GL:LIBMESAGL.EXE"
22
$! Already assumes DEC C on Alpha.
23
$! Assume VAX C on VAX.
25
$! Assume DEC C on VAX.
29
$ QUOTE = QUOTE + QUOTE + QUOTE
30
$ scorepath = "SCOREPATH=" + QUOTE + "[]" + QUOTE
31
$ scorefile = "SCOREFILE=" + QUOTE + "skewb.scores" + QUOTE
32
$ logpath = "LOGPATH=" + QUOTE + "[]" + QUOTE
33
$ logfile = "LOGFILE=" + QUOTE + "skewb.log" + QUOTE
34
$ defscore=="''scorepath',''scorefile'"
35
$ deflog=="''logpath',''logfile'"
37
$! NOTHING SHOULD BE MODIFIED BELOW
39
$ if p1 .eqs. "CLEAN" then goto Clean
40
$ if p1 .eqs. "CLOBBER" then goto Clobber
42
$ axp=f$getsyi("HW_MODEL") .ge. 1024
43
$ sys_ver=f$edit(f$getsyi("version"),"compress")
44
$ if f$extract(0,1,sys_ver) .nes. "V"
47
This script will assume that the operating system version is at least V7.0.
51
$ sys_maj=0+f$extract(1,1,sys_ver)
54
$ xvmsutils=f$search("''xvmsutilsf'") .nes. ""
56
$ xpm=f$search("''xpmf'") .nes. ""
57
$ gl=f$search("''glf'") .nes. ""
58
$ gl_share=f$search("''glf_share'") .nes. ""
63
$ open/write optf xskewb.opt
66
$ defs=="''defs',HAVE_MOTIF"
67
$ if xpm then defs=="''defs',HAVE_XPM"
68
$ if gl .or. gl_share then defs=="''defs',HAVE_OPENGL,HAVE_GLBINDTEXTURE"
71
$ if xvmsutils then defs=="''defs',USE_XVMSUTILS"
73
$ defs=="''defs',SRAND=srand48,LRAND=lrand48,MAXRAND=2147483648.0"
75
$ defs=="''defscore',''deflog',''defs'"
78
$! Establish the Compiling Environment
80
$! Set compiler command
83
$ cc=="cc/standard=vaxc/define=(''defs')"
87
$ cc=="cc/decc/standard=vaxc/define=(''defs')"
89
$ cc=="cc/define=(''defs')"
92
$ if p1 .eqs. "DEBUG" .or. p2 .eqs. "DEBUG" .or. p3 .eqs. "DEBUG"
96
$ cc=="cc/deb/noopt/standard=vaxc/define=(''defs')/list"
100
$ cc=="cc/deb/noopt/decc/standard=vaxc/define=(''defs')/list"
102
$ cc=="cc/deb/noopt/define=(''defs')/list"
108
$ if axp .or. .not. decc
110
$ define/nolog sys sys$library
113
$ write sys$output "Compiling xskewb with ''defs'"
114
$ call make Skewb.obj "cc Skewb.c" Skewb.c SkewbP.h Skewb.h
115
$ call make Skewb2d.obj "cc Skewb2d.c" Skewb2d.c SkewbP.h Skewb.h Skewb2dP.h Skewb2d.h
116
$ call make Skewb3d.obj "cc Skewb3d.c" Skewb3d.c SkewbP.h Skewb.h Skewb3dP.h Skewb3d.h
117
$ if gl .or. gl_share
119
$ call make SkewbGL.obj "cc SkewbGL.c" SkewbGL.c SkewbP.h Skewb.h SkewbGLP.h SkewbGL.h
121
$ call make SkewbU.obj "cc SkewbU.c" SkewbU.c SkewbP.h Skewb.h
122
$ call make rngs.obj "cc rngs.c" rngs.c
123
$ call make xskewb.obj "cc xskewb.c" xskewb.c Skewb.h
126
$ if xpm then write optf "''xpmf'/lib"
127
$ if gl then write optf "''glf'/lib"
128
$ if gl_share then write optf "''glf_share'/share"
131
$ if xvmsutils then write optf "''xvmsutilsf'/lib"
133
$! if .not. axp then write optf "sys$library:vaxcrtl/lib"
134
$ write optf "sys$library:vaxcrtl/lib"
135
$ if axp then write optf "sys$library:ucx$ipc_shr/share"
136
$ if axp then write optf "sys$share:decw$xextlibshr/share"
137
$ if axp then write optf "sys$share:decw$xtlibshrr5/share"
138
$ if .not. axp then write optf "sys$library:ucx$ipc/lib"
139
$! write optf "sys$share:decw$dxmlibshr/share"
140
$ write optf "sys$share:decw$xmlibshr12/share"
141
$ write optf "sys$share:decw$xlibshr/share"
145
$ write sys$output "Linking xskewb"
146
$ link/map xskewb/opt
151
$Clobber: ! Delete executables, Purge directory and clean up object files
153
$ delete/noconfirm/log xskewb.exe;*
155
$Clean: ! Purge directory, clean up object files and listings
158
$ delete/noconfirm/log *.lis;*
159
$ delete/noconfirm/log *.obj;*
160
$ delete/noconfirm/log *.opt;*
161
$ delete/noconfirm/log *.map;*
165
! SUBROUTINE TO CHECK DEPENDENCIES
168
$! p1 What we are trying to make
169
$! p2 Command to make it
170
$! p3 - p8 What it depends on
172
$ if (f$extract(0,3,p2) .eqs. "cc ") then write optf "''p1'"
173
$ if (f$extract(0,3,p2) .eqs. "CC ") then write optf "''p1'"
175
$ if f$search(p1) .eqs. "" then goto MakeIt
176
$ time=f$cvtime(f$file(p1,"RDT"))
180
$ if argument .eqs. "" then goto Exit
183
$ file=f$element(el," ",argument)
184
$ if file .eqs. " " then goto Endl
188
$ afile=f$search(file)
189
$ if afile .eqs. "" .or. afile .eqs. ofile then goto NextEl
190
$ if f$cvtime(f$file(afile,"RDT")) .gts. time then goto MakeIt
197
$ if arg .le. 8 then goto Loop
205
$ if v then set verify