1
$!---------------make.com for xpmlib----------------------------------------
2
$! make xpmlib under VMS
9
$ disk = f$trnlnm("SYS$DISK")
10
$ path = "''disk'"+ "''here'"
11
$ xpath = "''path'" - "SXPM]" + "lib]"
12
$ if f$trnlnm("X11").eqs."" then define x11 decw$include,'xpath
16
$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
17
$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
19
$! Look for the compiler used
21
$ ccopt = "/define=(NEED_STRCASECMP,NEED_STRDUP,NO_ZPIPE)"
22
$ if f$getsyi("HW_MODEL").ge.1024
24
$ ccopt = "/prefix=all"+ccopt
26
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
28
$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").eqs.""
31
$ if f$trnlnm("SYS").eqs."" then define sys sys$library:
33
$ if f$trnlnm("SYS").eqs."" then define sys decc$library_include:
34
$ ccopt = "/decc/prefix=all"+ccopt
39
$! Produce linker-options file according to X-Release and compiler used
41
$ open/write optf sxpm.opt
42
$ write optf "libxpm.olb/lib"
43
$ write optf "sys$share:decw$xextlibshr.exe/share"
44
$ write optf "sys$share:decw$xlibshr.exe/share"
45
$ @sys$update:decw$get_image_version sys$share:decw$xlibshr.exe decw$version
46
$ if f$extract(4,3,decw$version).eqs."1.1"
48
$ write optf "sys$share:decw$xtshr.exe/share"
50
$ if f$extract(4,3,decw$version).eqs."1.2"
52
$ write optf "sys$share:decw$xtlibshrr5.exe/share"
56
$! Build the thing plain or with 'Make'
58
$ write sys$output "Compiling XPMlib sources ..."
61
$ 'Make'/Macro = ('comp')
63
$ CALL MAKE CrBufFrI.OBJ "CC ''CCOPT' CrBufFrI" -
64
CrBufFrI.c XpmI.h xpm.h
65
$ CALL MAKE CrBufFrP.OBJ "CC ''CCOPT' CrBufFrP" -
66
CrBufFrP.c XpmI.h xpm.h
67
$ CALL MAKE CrDatFI.OBJ "CC ''CCOPT' CrDatFrI" -
68
CrDatFrI.c XpmI.h xpm.h
69
$ CALL MAKE CrDatFP.OBJ "CC ''CCOPT' CrDatFrP" -
70
CrDatFrP.c XpmI.h xpm.h
71
$ CALL MAKE CrIFrBuf.OBJ "CC ''CCOPT' CrIFrBuf" -
72
CrIFrBuf.c XpmI.h xpm.h
73
$ CALL MAKE CrIFrDat.OBJ "CC ''CCOPT' CrIFrDat" -
74
CrIFrDat.c XpmI.h xpm.h
75
$ CALL MAKE CrPFrBuf.OBJ "CC ''CCOPT' CrPFrBuf" -
76
CrPFrBuf.c XpmI.h xpm.h
77
$ CALL MAKE CrPFrDat.OBJ "CC ''CCOPT' CrPFrDat" -
78
CrPFrDat.c XpmI.h xpm.h
79
$ CALL MAKE RdFToDat.OBJ "CC ''CCOPT' RdFToDat" -
80
RdFToDat.c XpmI.h xpm.h
81
$ CALL MAKE RdFToI.OBJ "CC ''CCOPT' RdFToI" -
83
$ CALL MAKE RdFToP.OBJ "CC ''CCOPT' RdFToP" -
85
$ CALL MAKE WrFFrDat.OBJ "CC ''CCOPT' WrFFrDat" -
86
WrFFrDat.c XpmI.h xpm.h
87
$ CALL MAKE WrFFrI.OBJ "CC ''CCOPT' WrFFrI" -
89
$ CALL MAKE WrFFrP.OBJ "CC ''CCOPT' WrFFrP" -
91
$ CALL MAKE create.OBJ "CC ''CCOPT' create" -
93
$ CALL MAKE data.OBJ "CC ''CCOPT' data" -
95
$ CALL MAKE hashtab.OBJ "CC ''CCOPT' hashtab" -
96
hashtab.c XpmI.h xpm.h
97
$ CALL MAKE misc.OBJ "CC ''CCOPT' misc" -
99
$ CALL MAKE parse.OBJ "CC ''CCOPT' parse" -
101
$ CALL MAKE rgb.OBJ "CC ''CCOPT' rgb" -
103
$ CALL MAKE scan.OBJ "CC ''CCOPT' scan" -
105
$ CALL MAKE Attrib.OBJ "CC ''CCOPT' Attrib" -
106
Attrib.c XpmI.h xpm.h
107
$ CALL MAKE CrIFrP.OBJ "CC ''CCOPT' CrIFrP" -
108
CrIFrP.c XpmI.h xpm.h
109
$ CALL MAKE CrPFrI.OBJ "CC ''CCOPT' CrPFrI" -
110
CrPFrI.c XpmI.h xpm.h
111
$ CALL MAKE Image.OBJ "CC ''CCOPT' Image" -
113
$ CALL MAKE Info.OBJ "CC ''CCOPT' Info" -
115
$ CALL MAKE RdFToBuf.OBJ "CC ''CCOPT' RdFToBuf" -
116
RdFToBuf.c XpmI.h xpm.h
117
$ CALL MAKE WrFFrBuf.OBJ "CC ''CCOPT' WrFFrBuf" -
118
WrFFrBuf.c XpmI.h xpm.h
119
$ write sys$output "Building XPMlib ..."
120
$ CALL MAKE LIBXPM.OLB "lib/crea libxpm.olb *.obj" *.OBJ
121
$ CALL MAKE SXPM.OBJ "CC ''CCOPT' [-.sxpm]sxpm" -
123
$ write sys$output "Linking SXPM ..."
124
$ CALL MAKE SXPM.EXE "LINK sxpm,sxpm.opt/OPT" sxpm.OBJ
126
$ write sys$output "XPMlib build completed"
127
$ sxpm :=="$''path'sxpm.exe"
131
$MAKE: SUBROUTINE !SUBROUTINE TO CHECK DEPENDENCIES
133
$! P1 = What we are trying to make
134
$! P2 = Command to make it
135
$! P3 - P8 What it depends on
137
$ If F$Search(P1) .Eqs. "" Then Goto Makeit
138
$ Time = F$CvTime(F$File(P1,"RDT"))
142
$ If Argument .Eqs. "" Then Goto Exit
145
$ File = F$Element(El," ",Argument)
146
$ If File .Eqs. " " Then Goto Endl
150
$ AFile = F$Search(File)
151
$ If AFile .Eqs. "" .Or. AFile .Eqs. OFile Then Goto NextEl
152
$ If F$CvTime(F$File(AFile,"RDT")) .Ges. Time Then Goto Makeit
159
$ If arg .Le. 8 Then Goto Loop
164
$ write sys$output P2
168
$ If V Then Set Verify