386BSD 0.1 development
[unix-history] / usr / othersrc / public / ghostscript-2.4.1 / vms-cc.mak
CommitLineData
1ed5b2ee
WJ
1$ ! Copyright (C) 1989, 1992 Aladdin Enterprises. All rights reserved.
2$ ! Distributed by Free Software Foundation, Inc.
3$ !
4$ ! This file is part of Ghostscript.
5$ !
6$ ! Ghostscript is distributed in the hope that it will be useful, but
7$ ! WITHOUT ANY WARRANTY. No author or distributor accepts responsibility
8$ ! to anyone for the consequences of using it or for whether it serves any
9$ ! particular purpose or works at all, unless he says so in writing. Refer
10$ ! to the Ghostscript General Public License for full details.
11$ !
12$ ! Everyone is granted permission to copy, modify and redistribute
13$ ! Ghostscript, but only under the conditions described in the Ghostscript
14$ ! General Public License. A copy of this license is supposed to have been
15$ ! given to you along with Ghostscript so you can know your rights and
16$ ! responsibilities. It should be in a file named COPYING. Among other
17$ ! things, the copyright notice and this notice must be preserved on all
18$ ! copies.
19$ !
20$ !
21$ ! "makefile" for Ghostscript, VMS / VMS C / DECwindows (X11) configuration.
22$ !
23$ !
24$ ! Execute this command file while in the GhostScript directory!
25$ !
26$ !
27$ ! To build a debugging configuration, issue the command:
28$ !
29$ ! $ @VMS-CC.MAK DEBUG
30$ !
31$ ! Do not abbreviate "DEBUG". To specify an alternate directory for
32$ ! GS_LIB_DEFAULT, issue the command:
33$ !
34$ ! $ @VMS-CC.MAK directory
35$ !
36$ ! with "directory" a fully qualified directory name. "directory" cannot
37$ ! be DEBUG (otherwise it will be confused with the DEBUG switch). Both
38$ ! the DEBUG switch and a directory name may be specified on the same
39$ ! command line and in either order.
40$ !
41$ CDEF = ""
42$ LDEF = ""
43$ !
44$ GS_INIT = "GS_INIT.PS"
45$ GS_LIB_DEFAULT = F$ENVIRONMENT("DEFAULT")
46$ IF P1 .NES. "" .AND. P1 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P1
47$ IF P2 .NES. "" .AND. P2 .NES. "DEBUG" THEN GS_LIB_DEFAULT = P2
48$ !
49$ IF P1 .NES. "DEBUG" .AND. P2 .NES. "DEBUG" THEN GOTO NODEBUG
50$ CDEF = "/DEFINE=(""DEBUG"")/NOOPTIMIZE/DEBUG"
51$ LDEF = "/DEBUG"
52$ !
53$ NODEBUG:
54$ !
55$ ! Give ourself a healthy search list for C include files
56$ !
57$ DEFINE C$INCLUDE 'F$ENVIRONMENT("DEFAULT"),DECW$INCLUDE,SYS$LIBRARY
58$ DEFINE VAXC$INCLUDE C$INCLUDE
59$ DEFINE SYS SYS$LIBRARY
60$ !
61$ !
62$ ! Build the ANSI C to Kernighan & Ritchie filter
63$ !
64$ CC/NOLIST/OBJECT=ANSI2KNR.OBJ ANSI2KNR.C
65$ LINK/NOMAP/EXE=ANSI2KNR.EXE ANSI2KNR,SYS$INPUT/OPT
66SYS$SHARE:DECW$XLIBSHR/SHARE
67$ DELETE ANSI2KNR.OBJ.*
68$ !
69$ ! Now define an ansi2knr symbol
70$ !
71$ ANSI2KNR = "$" + F$ENVIRONMENT("DEFAULT") + "ANSI2KNR.EXE"
72$ !
73$ !
74$ ! Compile genarch.c and then run it to create the arch.h header file
75$ !
76$ CC/NOLIST/OBJECT=GENARCH.OBJ GENARCH.C
77$ LINK/NOMAP/EXE=GENARCH.EXE GENARCH,SYS$INPUT/OPT
78SYS$SHARE:VAXCRTL/SHARE
79$ GENARCH = "$" + F$ENVIRONMENT("DEFAULT") + "GENARCH.EXE"
80$ GENARCH ARCH.H
81$ DELETE GENARCH.EXE.*,GENARCH.OBJ.*
82$ PURGE ARCH.H
83$ !
84$ !
85$ ! Create a minimal gconfig.h
86$ !
87$ CREATE GCONFIG.H
88device_(gs_x11_device)
89$ !
90$ ! Create an empty object library
91$ !
92$ LIBRARY/CREATE GS.OLB
93$ !
94$ !
95$ ! Create a list of modules to compile and store in the object library
96$ !
97$ CREATE MODULES.LIS
98GDEVMEM1
99GDEVMEM2
100GDEVMEM3
101GP_VMS
102GSCHAR
103GSCHAR0
104GSCOLOR
105GSCOORD
106GSDEVICE
107GSDPS1
108GSFILE
109GSFONT
110GSIM2OUT
111GSIMAGE
112GSLINE
113GSMATRIX
114GSMISC
115GSPAINT
116GSPATH
117GSPATH2
118GSSTATE
119GSTDEV
120GSTYPE1
121GSUTIL
122GXCACHE
123GXCLIST
124GXCOLOR
125GXCPATH
126GXDITHER
127GXDRAW
128GXFILL
129GXHT
130GXPATH
131GXPATH2
132GXSTROKE
133IALLOC
134IBNUM
135IBSCAN
136ICCFONT
137IDEBUG
138IDICT
139IINIT
140INAME
141INTERP
142ISAVE
143ISCAN
144IUTIL
145SFILTER
146SFILTER2
147STREAM
148ZARITH
149ZARRAY
150ZBSEQ
151ZCHAR
152ZCOLOR
153ZCONTROL
154ZDEVICE
155ZDICT
156ZDPS1
157ZFILE
158ZFILEIO
159ZFILTER
160ZFILTER2
161ZFONT
162ZFONT0
163ZFONT1
164ZFONT2
165ZGENERIC
166ZGSTATE
167ZHT
168ZMATH
169ZMATRIX
170ZMISC
171ZPACKED
172ZPAINT
173ZPATH
174ZPATH2
175ZPROPS
176ZRELBIT
177ZSTACK
178ZSTRING
179ZTYPE
180ZUPATH
181ZVMEM
182$ !
183$ !
184$ ! NOW COMPILE AWAY!
185$ !
186$ OPEN/READ MODULE_LIST MODULES.LIS
187$ !
188$ COMPILE_LOOP:
189$ READ/END=END_COMPILE MODULE_LIST MODULE
190$ ANSI2KNR 'MODULE'.C 'MODULE'.CC
191$ CC'CDEF/NOLIST/OBJECT='MODULE'.OBJ 'MODULE'.CC
192$ LIBRARY/INSERT GS.OLB 'MODULE'.OBJ
193$ DELETE 'MODULE'.OBJ.*
194$ IF CDEF .EQS. "" THEN DELETE 'MODULE'.CC.*
195$ GOTO COMPILE_LOOP
196$ !
197$ END_COMPILE:
198$ CLOSE MODULE_LIST
199$ DELETE MODULES.LIS.*
200$ !
201$ !
202$ ! Is the DECwindows environment about? Must be installed in order to
203$ ! build the executable programs gs.exe, gt.exe, and xlib.exe.
204$ !
205$ IF F$SEARCH("SYS$SHARE:DECW$XLIBSHR.EXE") .NES. "" THEN GOTO CHECK2
206$ WRITE SYS$OUTPUT "DECwindows user environment not installed;"
207$ WRITE SYS$OUTPUT "unable to build executable programs."
208$ GOTO DONE
209$ !
210$ CHECK2:
211$ IF F$TRNLNM("DECW$INCLUDE") .NES. "" THEN GOTO BUILD_EXES
212$ WRITE SYS$OUTPUT "You must invoke @DECW$STARTUP before using this"
213$ WRITE SYS$OUTPUT "command procedure to build the executable programs."
214$ GOTO DONE
215$ !
216$ ! Build the executables
217$ !
218$ BUILD_EXES:
219$ !
220$ DEFINE X11 DECW$INCLUDE
221$ !
222$ ANSI2KNR GCONFIG.C GCONFIG.CC
223$ LIBDEF = """GS_LIB_DEFAULT=""""" + ''GS_LIB_DEFAULT' + """"""""
224$ INIDEF = """GS_INIT=""""" + ''GS_INIT' + """"""""
225$ CC'CDEF/NOLIST/DEFINE=('LIBDEF','INIDEF')/OBJECT=GCONFIG.OBJ GCONFIG.CC
226$ !
227$ ANSI2KNR GDEVXINI.C GDEVXINI.CC
228$ CC'CDEF/NOLIST/OBJECT=GDEVXINI.OBJ GDEVXINI.CC
229$ !
230$ ANSI2KNR GDEVX.C GDEVX.CC
231$ CC'CDEF/NOLIST/OBJECT=GDEVX.OBJ GDEVX.CC
232$ !
233$ ANSI2KNR GSMAIN.C GSMAIN.CC
234$ CC'CDEF/NOLIST/OBJECT=GSMAIN.OBJ GSMAIN.CC
235$ !
236$ ANSI2KNR UTRACE.C UTRACE.CC
237$ CC'CDEF/NOLIST/OBJECT=UTRACE.OBJ UTRACE.CC
238$ !
239$ !
240$ ! GSMAIN and UTRACE are tossed into the GT link so that when a
241$ ! debugging configuration is built, the gs_log_error and gs_exit
242$ ! routines will be defined.
243$ !
244$ ANSI2KNR GS.C GS.CC
245$ CC'CDEF/NOLIST/OBJECT=GS.OBJ GS.CC
246$ LINK'LDEF/NOMAP/EXE=GS.EXE GS,GSMAIN,UTRACE,GDEVX,GDEVXINI,GCONFIG,-
247 GS/LIB/INCLUDE=(GDEVMEM1,GDEVMEM2,GDEVMEM3,GXCLIST,-
248 ZARITH,ZARRAY,ZBSEQ,ZCHAR,ZCOLOR,ZCONTROL,ZDEVICE,ZDPS1,-
249 ZDICT,ZFILE,ZFILEIO,ZFILTER,ZFILTER2,ZFONT,ZFONT0,ZFONT1,ZFONT2,-
250 ZGENERIC,ZGSTATE,ZHT,ZMATH,ZMATRIX,ZMISC,ZPACKED,ZPAINT,ZPATH,ZPATH2,-
251 ZPROPS,ZRELBIT,ZSTACK,ZSTRING,ZTYPE,ZUPATH,ZVMEM),SYS$INPUT/OPT
252SYS$SHARE:DECW$DWTLIBSHR/SHARE
253$ !
254$ DELETE GDEVX.OBJ.*,GDEVXINI.OBJ.*,GSMAIN.OBJ.*,UTRACE.OBJ.*,GS.OBJ.*,-
255 GCONFIG.OBJ.*
256$ IF CDEF .EQS. "" THEN -
257 DELETE GDEVX.CC.*,GDEVXINI.CC.*,GSMAIN.CC.*,UTRACE.CC.*,GS.CC.*,GCONFIG.CC.*
258$ !
259$ DELETE ANSI2KNR.EXE.*
260$ !
261$ DEASSIGN X11
262$ !
263$ DONE:
264$ !
265$ DEASSIGN C$INCLUDE
266$ DEASSIGN VAXC$INCLUDE
267$ DEASSIGN SYS
268$ !
269$ ! ALL DONE